原文链接:https://www.fearlazy.com/index.php/post/312.html
十六进制形式可以更直观的看到数据的真实样子,有时候对于调试很有帮助。
不同的编码方式下QString的十六进制不同,如:GBK用两个字节来表示一个中文字符,
而utf-8用三或四个字节来表示一个中文字符。
QString可以借助QByteArray来实现十六进制形式输出,将QString转换为QByteArray打印。
例:字符串 "中文english"
以上3个以to开头的函数返回值都是QByteArray,分别获得是本地、utf-8和latin1编码形式的QByteArray。
输出结果:
可以看到中文字符是十六进制的形式(前两种编码),英文字符被直接输出来了。很显然直接输出QByteArray
是不行的。
QByteArray提供了toHex函数将QByteArray转换为十六进制形式,返回值类型也是QByteArray。
例:
输出结果:
成功转为十六进制,但是每个字节都粘在一起了不好看,toHex还有一个重载版本,传入一个char作为分隔符。
例:
输出结果:
---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。
版权归原作者 fearlazy 所有, 如有侵权,请联系我们删除。