Google provide some class to do that too. See GTMBase64 classes at http://code.google.com/p/google-toolbox-for-mac/source/browse/#svn/trunk/Foundation
Le 14 avr. 2010 à 22:00, joby abraham a écrit : > Hi Bialecki, > > for base64 encoding/decoding you can use openSSL Library which providing by > MAC OS. > > I can give you code snippets for encoding and decoding string. > > #include <openssl/bio.h> > #include <openssl/evp.h> > > - (NSString *)base64EncodedString > { > // Construct an OpenSSL context > BIO *context = BIO_new(BIO_s_mem()); > > // Tell the context to encode base64 > BIO *command = BIO_new(BIO_f_base64()); > context = BIO_push(command, context); > > // Encode all the data > BIO_write(context, [self bytes], [self length]); > BIO_flush(context); > > // Get the data out of the context > char *outputBuffer; > long outputLength = BIO_get_mem_data(context, &outputBuffer); > NSString *encodedString = [NSString > stringWithCString:outputBuffer > length:outputLength]; > > BIO_free_all(context); > > return encodedString; > } > > > + (NSData *)dataByDase64DecodingString:(NSString *)decode > { > decode = [decode stringByAppendingString:@"\n"]; > NSData *data = [decode dataUsingEncoding:NSASCIIStringEncoding]; > > // Construct an OpenSSL context > BIO *command = BIO_new(BIO_f_base64()); > BIO *context = BIO_new_mem_buf((void *)[data bytes], [data length]); > > // Tell the context to encode base64 > context = BIO_push(command, context); > > // Encode all the data > NSMutableData *outputData = [NSMutableData data]; > > #define BUFFSIZE 256 > int len; > char inbuf[BUFFSIZE]; > while ((len = BIO_read(context, inbuf, BUFFSIZE)) > 0) > { > [outputData appendBytes:inbuf length:len]; > } > > BIO_free_all(context); > [data self]; // extend GC lifetime of data to here > > return outputData; > } > > > 2010/4/14 Bartosz Bialecki <biale...@hqs.de> > >> Hi everyone, >> I have some problem. I'm writing a web service client and one of my xml >> request require a data encoded as base64Binary. I'm using NSData type in my >> application but data are encoded as base64. Do you know any solution? >> >> Best regards, >> Bartosz Bialecki >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> >> http://lists.apple.com/mailman/options/cocoa-dev/jobyabraham1983%40gmail.com >> >> This email sent to jobyabraham1...@gmail.com >> > > > > -- > Thanks & Regards, > Joby Abraham. > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/cocoa-dev/devlists%40shadowlab.org > > This email sent to devli...@shadowlab.org -- Jean-Daniel _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com