【发布时间】:2018-06-03 14:10:44
【问题描述】:
学习c++,试图通过在“\u”后面添加4位数字来找到一种显示UTF-16字符的方法。但是,例如,如果我尝试直接添加 0000:
string temp = "\u" + "0000";
我收到错误:通用字符名称格式不正确。那么有没有办法让这两个形成一个Unicode字符?我也意识到最后四个数字的范围是 0-F,但现在我只想关注 0-9 字符。
如何用不同的字符串添加“\u”
编辑:我正在寻找 JavaScript 函数的 C++ 等价物:
String.fromCharCode()
【问题讨论】:
-
你为什么要把它们分成两个字符串?你对编程了解多少?编译器将引号之间的特殊序列转换为 Unicode 字符(显然在编译时)。你真正想要完成什么?
-
"试图找到一种显示 UTF-16 字符的方法" - 然后使用 UTF-16 字符串类型,例如 Windows 上的
std::wstring或std::u16stringC++11 及更高版本。并使用可以显示 Unicode 字符串的 API。您正在做的甚至不是在 C++ 中处理 Unicode 字符串的正确方法 -
我试图创建一个函数,通过传入 XXXX 来返回带有代码 \uXXXX 的字符。我只需要一种方法来用 XXXX 解析 \u 来做到这一点
-
你想添加什么编码?
UTF8? -
\unnnn(其中n=0-9A-F)是将unicode代码点添加到字符串的约定。这些代码点采用的格式取决于它们的编码。你想要什么编码?UTF-8?UTF-16?UTF-32?