Qt基础之三十五:Qt中文乱码探索

先说个小技巧:
Qt Creator支持显示源文件编码格式


右上角点UTF-8,会弹出“文件编码”对话框

我的开发环境是Win10 Qt5.12.6 VS2017,IDE是Qt Creator

一.字符编码

要彻底理解乱码问题,我们需要从字符编码说起

1 ASCII编码

ASCII编码即美国信息交换标准代码(American Standard Code for Information Interchange)是一套共有128个字符的编码。这个编码很容易,就用了一个字节进行编码,只能表示英文字符和标点符号,详见ASCII码表。

2 中文编码

计算机刚开始被发明的时候,只有ASCII编码。也就是说只有英文,那我们怎么办呢?没有人帮我们做,那只有自己来了,在1980年,国家标准总局发布了GB2312。这也不是很复杂的东西,因为单个字节只有256种可能,也就是说,最多只能表示256种字符。那么我们就再多用一个字节呗,在GB2312中,中文就用2个字节进行表示。2^16 = 65536,有这么多种可能,编码汉字绰绰有余了。
当然,考虑到兼容ASCII编码,当第一个字符小于127时,就表示ASCII

猜你喜欢

转载自blog.csdn.net/caoshangpa/article/details/130002156