当前位置:   article > 正文

编码格式ASCII,GB2312,GBK,GB18030,Unicode,UTF-8,以及python编码_编码格式guoxcs

编码格式guoxcs

ASCII,GB2312,GBK,GB18030,Unicode,UTF-8,及python编码

1 概述

         学python以来,写脚本程序时遇到读写文件,经常遇到编码问题,中文为乱码的情况。每次遇到此类问题,各种百度,加各种咨询,然而仍然不明其原因,问题的解决情况也是误打误撞,有些能解决,有些解决不了。这样让学写python编程之路变得异常坎坷。终于,下定决心,将编码问题好好学习理解一番。

2 编码介绍

         由于计算机只识别0和1,为了使计算机能够支持文字和字母等符号,方便实用操作计算机。于是,字符编码应运而生。

2.1 ASCII编码

         最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255)。
         由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里(即用一个字节的后七位),也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。

         随着发展,计算机开始普及,当计算机流传到欧洲时,问题再次出现,原本的ASCII编码只能解决美国人的编码问题,无法将欧洲的文字表示出来。于是乎,欧洲人就把ASCII码中没用到的第一位给用了,即:

         (1)ASCII码用一个字节的后七位,表示范围是0-127;

         (2)欧洲人把这个字节的第一位也用了,表示范围0-255。除去原本的0-127,剩下128-255.128-159之间为控制字符,160-255位文字符号,其中包括了西欧语言、希腊语、泰语、阿拉伯语、希伯来语。砖家们决定把他们的编码名称叫做Latin1,后面由于欧洲统一制定ISO标准,所以又有了一个ISO的名称,即ISO-8859-1。

2.2 中文编码GB2312,GBK,GB18030

         计算机技术传到了亚洲大地,比如中国。原本的一个字节的8个位全都用完了,但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312,GBK,GB18030编码,用来把中文编进去,产生了国标码

         国标码是汉字的国家标准编码,目前主要有GB2312、GBK、GB18030三种。

         (1)GB2312编码方案于1980年发布,收录汉字6763个,采用双字节编码。

         (2)GBK编码方案于1995年发布,收录汉字21003个,采用双字节编码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/678840
推荐阅读
相关标签
  

闽ICP备14008679号