我有这行代码将 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/