如何将NSString转换为NSData?

时间:2009-08-17 11:07:41

标签: cocoa unicode nsstring nsdata

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

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

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

1 个答案:

答案 0 :(得分:18)

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

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