我有这条代码将NSString转换为NSDATA:

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

如何在Unicode而不是UTF8中执行此操作?我的信息可能包含西里尔字符或音调标记。

有帮助吗?

解决方案

首先,您应该使用 dataUsingEncoding: 而不是经历 UTF8String. 。您只使用 UTF8String 当您在该编码中需要C字符串时。

然后,对于“ Unicode”(特别是UTF-16),只需通过 NSUnicodeStringEncoding 代替 NSUTF8StringEncoding 在你的 dataUsingEncoding: 信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top