Qt中文编码的转换
Windows容易出现GBK编码乱码的问题,这里使用QTextCodec来转码:
假设你现在的编码是utf8,但是显示在windows上是乱码,那么你可以尝试以下操作:
// utf8转GBK QString buf = "你好"; QTextCodec* code = QTextCodec::codecForName("gb2312"); QByteArray arr = code->fromUnicode(buf);
那么arr保存的就是gbk编码格式的字符。
如果你现在的编码是gbk文字,显示到Qt中是乱码,那么你可以尝试以下操作:
// GBK转utf8 QString buf = "你好"; QTextCodec* code = QTextCodec::codecForName("gb2312"); QString arr = code->toUnicode(buf.toStdString().data(),buf.length());
那么arr保存的就是utf8编码格式的字符。
具体的函数参数入参类型详见函数说明。也可以用QByteArray类型,这不是关键。
还有很多的转码方式,只要能满足当前需求即可,不必在意哪一个更好。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性