Qt 如何在QString中插入unicode特殊字符?

Qt 如何在QString中插入unicode特殊字符?,qt,unicode,qstring,Qt,Unicode,Qstring,我正在尝试将一个特殊的unicode字符(0xFD3F)插入QString 我试图创建QChar(0xFD3F)但是当输出这个字符并在十六进制编辑器中查看它时,它会显示0x3F3F。 我在QString中也找不到一个函数来插入十六进制或十进制表示的字符。使用QString::fromUtf8如下: QString::fromWCharArray(L"Hello \uFD3F Good bye") QString::fromUtf8(“你好\uFD3F再见”)使用QString::fromWC

我正在尝试将一个特殊的unicode字符(0xFD3F)插入QString

我试图创建
QChar(0xFD3F)
但是当输出这个字符并在十六进制编辑器中查看它时,它会显示
0x3F3F

我在
QString
中也找不到一个函数来插入十六进制或十进制表示的字符。

使用
QString::fromUtf8
如下:

QString::fromWCharArray(L"Hello \uFD3F  Good bye")

QString::fromUtf8(“你好\uFD3F再见”)
使用QString::fromWCharArray如下:

QString::fromWCharArray(L"Hello \uFD3F  Good bye")

我想问题出在角色本身,我正在试图弄清楚为什么它会这样做。这是你的十六进制编辑器中唯一一个这样的角色吗?如果您正常打印(仅在终端上),它是否打印正确的字符?我的错,你是绝对正确的。我犯了两个错误,第一个错误是在没有将编解码器设置为UTF-8的情况下编写测试流,第二个错误是希望在十六进制编辑器中找到0xFD 0x3F,而
FD3F
是unicode点,而不是UTF-8中的编码。UTF-8中的实际编码是
0xEF 0xB4 0xBF
。我开始理解Unicode和编码之间的区别。任何想知道的人都可以读这篇文章。谢谢你@excalibur你的答案是正确的!抱歉@Vladislav。也只有0x3F。但是谢谢你向我介绍这种方式。你的回答是对的,问题出在我身上。我会接受的,但是@excalibur1491在你面前回答了一个正确的答案。无论如何,谢谢你,祝你好运,提高你的分数,我相信你会得到高分:)。