0

假设我正在存储一个 ASCII 流,比如0x0a0b0c00. 如果我将数据存储在一个NSData实例与一个实例中,会发生什么情况NSString?数据会被转换成其他东西吗?我有点困惑,因为它们都是保存完全相同的东西的缓冲区。

4

1 回答 1

3

NSData 顾名思义,是一个存储原始二进制数据的容器。NSData 不对二进制数据的格式做任何假设。它可以是文本、图像、音频等。

NSString将数据解释为具有给定编码的文本:可以是 ASCII、Unicode 等。在大多数情况下,NSString 会将字节复制到其内部数据结构以存储原始二进制文件。

如果不是文本,请使用 NSData。在代码中更清楚地了解正在管理的内容并避免与字符串编码作斗争。

于 2012-09-07T05:09:04.410 回答