最近没事干就想写一个汉字区位码的转换工具。
至于区位码和汉字内码怎么转换网上似乎说的挺清楚的。
但是我遇到的问题是,使用QChar并赋值一个汉字(QChar buffChar = '李'),然后调用自己写的函数,能获得正确的区位码("3278"),也就是说QChar的unicode()返回了正确的值(我是把unicode()值当做GB2312汉字内码处理的);然后倒过来转换,用qDebug输出中间得到的unicode值是正确的(跟buffChar.unicode()的值一模一样),但是赋值给一个QChar后(return QChar(fullCode), fullCode是计算的unicode值),输出到qDebug中是个问号(这个我倒没感觉奇怪,经常遇到这种事情……),然后我就把这个字设置到一个窗口的标题上,结果竟然是个……韩语字符似乎……
我把buffChar设置到标题上也是个韩语的字符……
于是……这种问题到底该怎么解决?这个世界难道是思密达的……
难道是QChar的编码跟GB2312有冲突?