关于程序中乱码解决方案上:乱码理解篇

来源:互联网 发布:中国网络空间安全战略 编辑:程序博客网 时间:2024/06/05 07:54

 1、 * 乱码 在程序当中,当遇到中文、日文、韩文等文字的时候,无法正常显示,这种情况被称为乱码。
 2、 * 导致乱码的根本原因是 因为文字在进行“编码”和“解码”的时候采用的不是同一本字典(不是同一张对照表),就好比。
 
3、什么是字符编码?
        * 计算机只能识别二进制码,只认识1001010101010,其它不认识。
        * 现实世界当中人和人之间沟通的时候用到的不是二进制,而是一种高级语言,高级语言当中最重要的当然是“文字”
        * 计算机怎么表示文字呢?
               计算机只能采用“二进制码”表示某个特殊的“文字”
        问题:“这个二进制码”表示哪个“文字”呢?
        * 每个国家都有计算机协会组织,该组织通常负责制定自己国家的文字和二进制码的对照表。而这张对照表就是一种“字符编码”方式。
 
4、字符编码的发展历史:
        * 世界上第一台计算机不支持任何国家的文字,英文也不支持,只支持数字,因为当时设计计算机的作用是为了解决科学计算问题。
        * 随着计算机的发展,计算机很迫切的来表示现实世界中的文字,那当然第一个支持的文字是英文,

        当时为了支持26个英文字母,美国人制定了一套对照表,这张对照表被称为:ASCII码。

                ASCII码表中规定:
                       'a'   97          'A'   65           '0'   48
                       'a' --解码--> 01100001
                        01100001 --编码--> 'a'
       注意:英文共26个英文字母,所以采用一个字节完全可以容纳所有的英文字母和标点符号。所以ASCII码采用的是一个字节进行编码。
              一个字节是8个比特位,8个比特位可以表示256种不同的情况,也就是说一个byte可以表示256个不同的文字,

        完全可以容纳英文相关的字符以及标点符号。
        * 随着计算机的发展,后来为了支持更多国家的语言,国际标准组织制定了一种字符编码方式,

          叫做:ISO-8859-1编码方式,该编码方式现在仍然是国标码。
                 ISO-8859-1编码方式又被称为latin-1编码方式,主要支持西欧语言,仍然不支持中文。
        * 随着计算机的继续发展,发展到亚洲之后,例如:中国、日本、韩国....为了支持这些国家的文字,

          每个国家自己制定了属于自己国家的编码方式,例如中国包括简体中文和繁体中文
                 简体中文的编码方式:
                                GBK < GB2312 < GB18030 【容量从小到大】
                 繁体中文的编码方式:
                                 Big5 【大五码】
        * 随着计算机的继续发展,后来诞生了一种编码方式,统一了全球所有的文字,容量最大,可容纳全球任何国家的语言,这种编码方式叫做unicode
        unicode编码方式具体实现:
                         UTF-8、UTF-16、UTF-32....
 5、程序通常会见到乱码的情况:
        * 数据存储之后的乱码
        * 数据展示过程中的乱码
        * 数据传递过程中的乱码

希望对你有帮助,祝你有一个好心情,加油!
     

2 0