如何将NSString转换为NSData?

Ste*_*eod 8 unicode cocoa nsstring nsdata

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

NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)

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

Pet*_*sey 18

首先,你应该使用dataUsingEncoding:而不是通过UTF8String.您只UTF8String在需要该编码的C字符串时使用.

然后,对于"Unicode"(特别是UTF-16),只需传递NSUnicodeStringEncoding而不是NSUTF8StringEncoding在您的dataUsingEncoding:消息中.