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