8

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

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

如何使用 Unicode 而不是 UTF8 执行此操作?我的信息可能包含西里尔字符或变音符号。

4

1 回答 1

18

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

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

于 2009-08-17T11:49:35.273 回答