如何将 NSString 转换为 NSData?
我有这行代码将 NSString 转换为 NSData:
NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
How do I do this in Unicode而不是 UTF8? 我的消息可能包含西里尔字符或变音符号。
I have this line of code to convert NSString to NSData:
NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
How do I do this in Unicode instead of UTF8? My message may contain cyrillic characters or diacritical marks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,您应该使用
dataUsingEncoding:
而不是使用UTF8String
。 仅当您需要该编码中的 C 字符串时,才使用UTF8String
。然后,对于“Unicode”(特别是 UTF-16),只需在
dataUsingEncoding:
消息中传递NSUnicodeStringEncoding
而不是NSUTF8StringEncoding
即可。First off, you should use
dataUsingEncoding:
instead of going throughUTF8String
. You only useUTF8String
when you need a C string in that encoding.Then, for “Unicode” (specifically, UTF-16), just pass
NSUnicodeStringEncoding
instead ofNSUTF8StringEncoding
in yourdataUsingEncoding:
message.