qt中QTextCodec编码和转码
前言有一次我在linux平台上调用windows的接口,获取其中的中文信息时发现乱码,想到使用QTextCodec类进行转码常见乱码大多是GBK和UTF-8之间的乱码,qt中gbk和utf-8之间的转码一般都要经过unicode过渡一下,即gbk->unicode->utf-8QString test;//gbk转unicodeQTextCodec *gbk=QTextCodec::c
·
前言
有一次我在linux平台上调用windows的接口,获取其中的中文信息时发现乱码,想到使用QTextCodec类进行转码
常见乱码大多是GBK和UTF-8之间的乱码,qt中gbk和utf-8之间的转码一般都要经过unicode过渡一下,即gbk->unicode->utf-8
QString test;
//gbk转unicode
QTextCodec *gbk=QTextCodec::codecForName("gbk");
test= gbk->toUnicode(test.toStdString().data());
//unicode转uft-8
QTextCodec *utf8=QTextCodec::codecForName("UTF-8");
test= utf8->fromUnicode(test.toStdString().data());
注意:在测试中发现,我想手动设置字符串编码的时候,QTextCodec无法使用。比如我想把最后一行的test再转为gbk时,这时候就出问题了
下面介绍一些编码的相关知识:
编码的兼容性:(ASCII码即中英文数字和一些字符)
常见乱码产生的原因:
判断中文是哪种编码:
链接:汉字字符集编码查询
码字不易,如果这篇博客对你有帮助,麻烦点赞收藏,非常感谢!有不对的地方,可以评论区交流。
更多推荐
已为社区贡献2条内容
所有评论(0)