我正在开发一个 Qt GUI 应用程序来解析一个自定义 Windows 二进制文件,该文件使用 wchar_t(默认 UTF-16 编码)存储 unicode 文本。我已经构建了一个QString
usingQString::fromWcharArray
并将其传递给QTextBrowser::insertPlainText
like this
wchar_t *p = ; // pointer to a wchar_t string in the binary file
QString t = QString::fromWCharArray(p);
ui.logBrowser->insertPlainText(t);
显示的文本正确显示 ASCII 字符,但非 ASCII 字符显示为矩形框。我在调试器中跟踪了代码并p
指向一个有效的 wchar_t 字符串,并且构造QString t
的也是一个与 wchar_t 字符串匹配的有效字符串。将其打印在QTextBrowser
.
我该如何解决?