如何将NSString转换为NSData? [英] How do I convert NSString to NSData?
问题描述
我有这行代码将NSString转换为NSData:
I have this line of code to convert NSString to NSData:
NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
如何使用Unicode而不是UTF8?
How do I do this in Unicode instead of UTF8? My message may contain cyrillic characters or diacritical marks.
推荐答案
首先,您应该使用 dataUsingEncoding:/ code>,而不是通过
UTF8String
。
First off, you should use dataUsingEncoding:
instead of going through UTF8String
. You only use UTF8String
when you need a C string in that encoding.
然后,对于Unicode(具体来说),你可以使用 UTF8String
,UTF-16),只需在中传递
NSUnicodeStringEncoding
而不是 NSUTF8StringEncoding
dataUsingEncoding: code>消息。
Then, for "Unicode" (specifically, UTF-16), just pass NSUnicodeStringEncoding
instead of NSUTF8StringEncoding
in your dataUsingEncoding:
message.
这篇关于如何将NSString转换为NSData?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!