• 技术文章 >Python技术 >Python基础教程

    一文带你了解编码集

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-07-06 11:35:19原创2093

    编码集

    1. ASCII编码:

    127个字母 8个数据位足够存储字母、数字、符号,支持到0x7F。

    1562383604239602.jpg

    2. GB2312编码

    每个汉字占据2个字节(高位和低位),16个数据。GB2312是对ASCII的中文扩展,共包含7000多个汉字。是计算机发展到中国后发展起来的编码,检测高位和低位,如果同时大于0x7F,则认为是GB2312,否则认为是ASCII编码。

    相关推荐:《Python视频教程

    3. GBK(1995)和GB18030(2005/2000)

    每个汉字占据2个字节,由于汉字的数量太大,GB2312不能满足需求。GBK包括了GB2312的所有内容,

    同时增加了近20000个新的汉字(包括繁体)和符号 。只要求高位大于0x7F,低位可以小于0x7F,认为是中文。

    > 国家标准GB18030-2000《信息交换用汉字编码字符集基本集的补充》是我国继GB2312-1980和

    GB13000-1993之后最重要的汉字编码标准,包含多种我国少数民族文字,其中收入汉字70000余个。

    4.Unicode编码

    > 定长存储, 将所有语言都统一到一套编码集,通常使用2个字节,有的是4个字节。收录很全。

    分为17个面,基本面采用2个字节,普通中文子也在基本面中,另外16个面是4个字节。

    不兼容ASCII码,即存储的时候,对ASCII码前面补0,导致存储的数据变大。

    5. utf-8---变长存储

    > 国际标准组织(ISO)制定英文字符使用1个字节,沿用原来的ASCII码。

    > 使用1~4个字节表示一个符号,中文存储使用3个字节(ascii码中的内容用1个字节保存\欧洲的字符用2个字节保存\东亚的字符用3个字节保存\特殊符号用4个字节)

    > Unicode是内存编码表示方案(规范),而utf-8是如何保存和传输Unicode的方案(实现)

    > 优点:虽然内存汇总的数据都是Unicode,但当数据保存到磁盘或者用于网络传输时,使用utf-8会节省更多的流量和硬盘空间。

    如何判断几个字节表示一个字符:

    每个字节添加识别位,其中高位识别位为4位,低位识别位为2位。判断高位字节开头有几个1,可以确定共有几个字节来表示一个字符。

    6. utf-8和Unicode对应关系

    utf-8去掉识别位,变成unicode。

    专题推荐:编码集
    上一篇:Python之运算符汇总 下一篇:一文带你读懂编码和解码

    相关文章推荐

    • Python中怎么处理字符编码问题• Python之字符编码汇总• Python之字符编码相关介绍

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网