我需要将我的图像编码为文本。
我为此找到了这个类(class):
Base64 for iOS with ARC
当我尝试对图像进行编码时,我看到 NSPropertyListSerialization 创建的字符串与 base64 完全相同。使用 NSPropertyListSerialization 创建 base64 字符串是正确的方法还是我遗漏了什么?
Base64:
[data base64EncodedString];
NSPropertyList序列化:
[NSString stringWithUTF8String:[[NSPropertyListSerialization dataWithPropertyList:data format:NSPropertyListXMLFormat_v1_0 options:0 error:nil] bytes]]
Best Answer-推荐答案 strong>
不,你没有错过任何东西。 Base64 只是用 ASCII 编码二进制数据的标准,pList 使用 Base64 编码来编码图像等二进制数据(使用 NSPropertyListSerialization),因此它们应该为相同的二进制数据创建相同的 Base64 字符串。
如果您想知道在您的应用程序中使用哪个,我建议您使用 base64 库。虽然 Apple 已经插入使 pLists 成为标准,并且 pLists 将来可能总是将二进制数据编码为 Base64,但在极不可能的情况下,它们会更改某些内容或放弃对 pLists 的支持,您的代码将会中断。此外,最好在您的代码(为您自己和其他人)中明确说明您将数据编码为 base 64。
关于ios - Base64 vs NSPropertyListSerialization,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/18062207/
|