我想进行base64编码和解码,但我无法从iPhone SDK中找到任何支持。我怎么能做base64编码和解码与或没有一个库?


当前回答

下载Base64

做以下代码转换图像到base64

NSString *base64String=[UIImagePNGRepresentation(image) base64Encoding];

其他回答

iOS内置了对base64编码和解码的支持。如果你查看resolv.h,你会看到两个函数b64_ntop和b64_pton。Square SocketRocket库提供了一个如何从objective-c中使用这些函数的合理示例。

这些功能都经过了很好的测试和可靠-不像你在网上随便看到的那些实现。 不要忘记链接libresolve .dylib。

iOS8及以后使用- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions) NSData的选项

iOS从iOS 4开始就有内置的Base64编码和解码方法(不使用libresolv)。然而,它只在iOS 7 SDK中声明。苹果文档指出,你可以在iOS 4及以上系统上使用它。

NSData *myData = ... some data
NSString *base64String = [myData base64Encoding];
NSData *decodedData = [[NSData alloc] initWithBase64Encoding:base64String];

下载Base64

做以下代码转换图像到base64

NSString *base64String=[UIImagePNGRepresentation(image) base64Encoding];

iOS 7

        NSData *data=[[NSData alloc]init];
        [data base64Encoding];