【发布时间】:2010-07-09 09:02:11
【问题描述】:
假设我有一个文本“Բարև Hello Здравствуй”。 (我将此代码保存在 QString 中,但如果您知道在 c++ 代码中存储此文本的其他方法,不客气。)如何将此文本转换为 Unicode 转义,如“\u1330\u1377\u1408\u1415 Hello \ u1047\u1076\u1088\u1072\u1074\u1089\u1090\u1074\u1091\u1081"(见here)?
【问题讨论】:
-
QString很好。作为替代方案,您可以使用 ICU 库中的UnicodeString。 -
那不是“UTF-8 编码”,实际上你的例子与 UTF-8 完全没有关系。您所描述的是Unicode转义。据我所知,它们并没有被普遍使用。例如,Java 在其源文件中使用它们。
-
好的,我更改代码->unicode 转义!
-
我在您的问题中没有看到任何与 UTF-8 相关的内容。
QString使用 UTF-16 编码,期望的结果似乎是对非 ASCII 字符使用转义序列的表示。有趣的是,这个问题似乎与stackoverflow.com/questions/3147900 相反。 -
接缝它只是默认的。但您可以将其设置为 UTF-8 或其他编码。