QString以16位unicode方式存储,用16位表示一个字符。

正常情况下在程序中使用同一的编码即可,但有时需要将字符串发送到别的设备时,

有的设备支持的编码方式有限制就需要进行转码。

 

QString提供了几个转换编码的函数进行编码转换。

例:

输出:

toLocal8Bit()将字符串转换为本地的编码,toUtf8()将字符串转换为utf-8。

这些函数返回值都是QByteArray。

 

但是QString自己能够转换的编码有限,这时就需要使用QTextCodec。

转换步骤:根据当前的编码转换为unicode,然后再转换为目标编码。

例:

利用QTextCodec的toUnicode将字符串转为unicode,接着创建一个目标编码的QTextCodec调用其fromUnicode

将unicode字符串转为目标编码,结果是一个QByteArray。

 

---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。