我需要将NSData
对象的一些原始字节存储到NSString
(基本上是空编码),但我不知道如何做到这一点。显然,分配不正确的8位编码会很糟糕。 NSASCIIStringEncoding
不正常,因为文档说“在8位字符内严格的7位ASCII编码; ASCII值仅为0 ... 127”。但我需要全范围的0x0 - 0xFF。
Base64
编码不是可接受的解决方案。
答案 0 :(得分:2)
基本上,你没有。
NSString
用于有效编码的字符串数据的字符串;通常为UTF8或UTF16。 NSData
用于任意二进制数据。
如果要将原始字节存储到NSString
,则需要对它们进行编码,base64
是最常用的方法之一。
答案 1 :(得分:0)
使用NSNEXTSTEPStringEncoding。根据{{3}}:
具有NEXTSTEP扩展名的8位ASCII编码。
它出现在当前文档中(撰写本文时),并且可以在Apple和GNU的(OPENSTEP)标准实现中使用。
注意:它没有说明那些“扩展名”到底是什么,所以要轻描淡写。