我有这行代码的NSString转换为NSData的:
NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
如何以Unicode而不是UTF8做到这一点? 我的消息可能包含西里尔字母或注音符号。
我有这行代码的NSString转换为NSData的:
NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
如何以Unicode而不是UTF8做到这一点? 我的消息可能包含西里尔字母或注音符号。
首先,你应该使用dataUsingEncoding:
而不是通过去UTF8String
。 您只使用UTF8String
时,你需要在该编码的C字符串。
然后,对于“统一”(具体而言,UTF-16),只是通过NSUnicodeStringEncoding
而不是NSUTF8StringEncoding
在dataUsingEncoding:
消息。