【发布时间】:2016-02-05 02:37:32
【问题描述】:
我正在尝试在 QString 中插入一个特殊的 unicode 字符 (0xFD3F)。
我试图创建QChar(0xFD3F),但是当输出这个字符并在十六进制编辑器中查看它时,它显示0x3F3F。
我也找不到在 QString 中按十六进制或十进制表示插入字符的函数。
【问题讨论】:
我正在尝试在 QString 中插入一个特殊的 unicode 字符 (0xFD3F)。
我试图创建QChar(0xFD3F),但是当输出这个字符并在十六进制编辑器中查看它时,它显示0x3F3F。
我也找不到在 QString 中按十六进制或十进制表示插入字符的函数。
【问题讨论】:
像这样使用 QString::fromWCharArray:
QString::fromWCharArray(L"Hello \uFD3F Good bye")
【讨论】:
像这样使用QString::fromUtf8:
QString::fromUtf8("Hello \uFD3F Good bye")
【讨论】:
FD3F 是 unicode 点而不是 UTF-8 中的编码。 UTF-8 中的实际编码是0xEF 0xB4 0xBF。我开始了解 Unicode 和编码之间的区别。对于任何想知道的人,请阅读此joelonsoftware.com/articles/Unicode.html。谢谢@excalibur,你的回答是对的!