原文链接:https://www.fearlazy.com/index.php/post/314.html
QString以16位unicode方式存储,用16位表示一个字符。
正常情况下在程序中使用同一的编码即可,但有时需要将字符串发送到别的设备时,
有的设备支持的编码方式有限制就需要进行转码。
QString提供了几个转换编码的函数进行编码转换。
例:
输出:
toLocal8Bit()将字符串转换为本地的编码,toUtf8()将字符串转换为utf-8。
这些函数返回值都是QByteArray。
但是QString自己能够转换的编码有限,这时就需要使用QTextCodec。
转换步骤:根据当前的编码转换为unicode,然后再转换为目标编码。
例:
利用QTextCodec的toUnicode将字符串转为unicode,接着创建一个目标编码的QTextCodec调用其fromUnicode
将unicode字符串转为目标编码,结果是一个QByteArray。
---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。