【发布时间】:2011-08-06 13:52:07
【问题描述】:
我正在尝试将 UTF-8 字符串转换为 UCS-2 字符串。 我需要得到像“\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875”这样的字符串。 到目前为止,我已经用谷歌搜索了大约一个月,但仍然没有关于将 UTF-8 转换为 UCS-2 的参考。 请有人帮助我。 提前谢谢。
编辑:好吧,也许我的解释不够好。这是我想要做的。 我住在韩国,我正在尝试使用 CTMessageCenter 发送短信。我试图通过我的应用程序发送简体中文。我得到了????而不是正确的字符。所以我也尝试了 UTF-8、UTF-16、BE 和 LE。但是他们都回来了???。最后我发现 SMS 在韩国使用 UCS-2 和 EUC-KR 编码。很奇怪,不是吗? 无论如何,我尝试发送像 \u4E3B\u9875 这样的字符串并且它有效。 所以我需要先将字符串转换为 UCS-2 编码,然后从这些字符串中获取字符串字面量。
【问题讨论】:
-
"\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875" 不是 UCS-2 字符串。相反,它是一个 C 或 Objective-C 字符串文字,使用
\u转义序列来包含由其 Unicode 代码点指定的字符。你真的需要 UCS-2 还是字符串文字? -
我需要 UCS-2 编码及其字符串字面量。
-
UCS-2 本质上与 UTF-16 相同。
-
当然,Objective-C 字符串中的字符是 UTF-16。
标签: ios objective-c unicode utf-8 ucs2