我有这行代码将NSString转换为NSData:
NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
如何在Unicode而不是UTF8中执行此操作?我的消息可能包含西里尔字符或变音符号.
首先,你应该使用dataUsingEncoding:
而不是通过UTF8String
.您只UTF8String
在需要该编码的C字符串时使用.
然后,对于"Unicode"(特别是UTF-16),只需传递NSUnicodeStringEncoding
而不是NSUTF8StringEncoding
在您的dataUsingEncoding:
消息中.