cocoa - 如何将 NSString 转换为 NSData?

标签 cocoa unicode nsstring nsdata

我有这行代码将 NSString 转换为 NSData:

NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];

如何使用 Unicode 而不是 UTF8 执行此操作?我的消息可能包含西里尔字符或变音符号。

最佳答案

首先,您应该使用 dataUsingEncoding: 而不是使用 UTF8String。仅当您需要该编码中的 C 字符串时,才使用 UTF8String

然后,对于“Unicode”(特别是 UTF-16),只需在 dataUsingEncoding: 消息中传递 NSUnicodeStringEncoding 而不是 NSUTF8StringEncoding 即可。

关于cocoa - 如何将 NSString 转换为 NSData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287361/

相关文章:

ios - NSString 的逗号分隔天数到 NSDate 计算与当前日期最接近的日期

objective-c - 当 UIPopoverController 在屏幕上时,无法与带有 UIPopoverController 的 UISearchBar 保持结果进行交互

cocoa - 通过核心数据加载文件后,NSBrowser 不会重新填充 NSTreeController 的子级

ios - 需要想法 : Ways to display list of list of data in iOS

objective-c - 什么时候可以使用原始数据类型?

html - Unicode 在 Edge 中显示异常

html - 有什么理由不将 HTML 编码设置为 UTF-8 吗?

ios - NSString 的不可见字符

python - 使用正则表达式从 JSON 中删除字符串中的 Unicode\uxxxx

objective-c - 将 nsstring 中的字符与不同的字符集进行比较