您的位置:首页 > 编程语言 > Qt开发

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

2015-12-09 14:56 363 查看
环境:

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字符集,所以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: