qt5.5使用qdebug打印gbk的漢字

環境:

qt5.5.0 32位。

windows msvc2013

--------------

//tool.cpp

#include 'tool.h'
#include <QTextCodec>
QTextCodec *g_textcodecGB18030 = QTextCodec::codecForName("GB18030");

//tool.h
#include <QTextCodec>
extern QTextCodec *g_textcodecGB18030;

#define gbk4qdebug(src) g_textcodecGB18030->toUnicode(src).toUtf8().data()

//例如,從外部傳來了const char*src字符串,已知裏面是gbk字符集的漢字,那麼可以用此在qDebug打印出來。
qDebug() << gbk4qdebug(src) << endl;
---------------------------

原理分析:

猜測QString使用unicode來存儲文字,但是需要qDebug打印時,需要指定哪一種字符集,可能是qDebug僅支持utf8字符集,所以




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章