objective-c - NSString 替代 NSData 可能,后果是什么?

标签 objective-c ios

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

最佳答案

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

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

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

关于objective-c - NSString 替代 NSData 可能,后果是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311892/

相关文章:

ios - 实现 Facebook Messenger 样式平移到全屏 View 类似效果

ios - 如何使用自定义键盘扩展 iOS 8 在 textDocumentProxy 中设置图像?

iphone - 代码风格:作为属性访问

ios - 如何删除通过 iOS 中的 cocoa pod 生成的重复文件

ios - 3G 连接的 GameKit 配对失败

objective-c - CFStringTokenizer 是否应该忽略标点符号?

ios - 为什么我们在这里使用 ephemeralSessionConfiguration?

ios - Swift - 颜色填充动画

c++ - 在 GPU 中运行 C++ 代码 - Iphone 和 Android

ios - 与 XCode 相比,使用 Flex SDK 设计的 iOS 应用程序的局限性