在NSData和base64string之间转换
什么是最简单和最快的代码做NSData
和base64string之间的转换? 我已经阅读了大量的解决scheme,主要涉及添加另一个类。我在这里find了一个很好的解决scheme,但它太复杂了。
向下滚动到您链接的页面上的 “ 结论”部分,然后下载提供的NSData + Base64文件 。 这是迄今为止我看到的最好的解决scheme,并且非常易于使用。 如果你可以学习任何有关cocoa,你可以学习使用该项目。
例
NSString *originalString = [NSString stringWithFormat:@"test"]; NSData *data = [NSData dataFromBase64String:originalString]; NSLog([data base64EncodedString]);
上面的代码将打印出原始string,并将其转换为base64并返回到正常的未编码string。
从iOS 7开始, NSData
现在直接使用新的方法-base64EncodedDataWithOptions:
和-base64EncodedStringWithOptions:
提供这个function。 (这些选项可以让你指定string是/,应该是行包装,处理电子邮件和面向用户的显示更好。
您不需要任何自定义实现。 在其他答案中显示从NSData创buildbase64。 有相反的方向。 从Base64string到NSData:
NSString *base64Encoded = @"some base64 string"; NSData *nsdataFromBase64String = [[NSData alloc] initWithBase64EncodedString:base64Encoded options:0];
我最终使用了由SUDZC提供的同一个class级
执行很容易,我做了一个导入
#import "NSData+Base64.h"
那么我可以打电话给我的数据。
NSData *data = [[NSData alloc] initWithData:[NSData dataWithBase64EncodedString:strData]];
或者你可以看看(相当新的) CryptoCompatibility示例项目,我认为有一个用于base64操作的包装类。 这是一个MacOS示例,但它使用库libresolve.dylib,我认为也可以在iOS上使用(在iOS7中至less可以看到它)。