如何将 NSString 转换为 NSData?

发布于 2024-08-01 21:04:49 字数 254 浏览 2 评论 0原文

我有这行代码将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌伤浅笑 2024-08-08 21:04:49

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

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

First off, you should use dataUsingEncoding: instead of going through UTF8String. You only use UTF8String when you need a C string in that encoding.

Then, for “Unicode” (specifically, UTF-16), just pass NSUnicodeStringEncoding instead of NSUTF8StringEncoding in your dataUsingEncoding: message.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文