環境:
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字符集,所以