在NSString中使用什么编码与原始字节一起使用

时间:2010-11-27 23:10:08

标签: iphone ios nsstring ascii nsdata

我需要将NSData对象的一些原始字节存储到NSString(基本上是空编码),但我不知道如何做到这一点。显然,分配不正确的8位编码会很糟糕。 NSASCIIStringEncoding不正常,因为文档说“在8位字符内严格的7位ASCII编码; ASCII值仅为0 ... 127”。但我需要全范围的0x0 - 0xFF。

Base64编码不是可接受的解决方案。

2 个答案:

答案 0 :(得分:2)

基本上,你没有。

NSString用于有效编码的字符串数据的字符串;通常为UTF8或UTF16。 NSData用于任意二进制数据。

如果要将原始字节存储到NSString,则需要对它们进行编码,base64是最常用的方法之一。

答案 1 :(得分:0)

使用NSNEXTSTEPStringEncoding。根据{{​​3}}:

具有NEXTSTEP扩展名的8位ASCII编码。

它出现在当前文档中(撰写本文时),并且可以在Apple和GNU的(OPENSTEP)标准实现中使用。

注意:它没有说明那些“扩展名”到底是什么,所以要轻描淡写。