编码集
1. ASCII编码:
127个字母和8个数据位足以存储字母、数字和符号,最大支持0x7F。
2. GB2312编码
每个汉字占2个字节(高低位),16个数据。 GB2312是ASCII的中文扩展,包含7000多个汉字。它是中国计算机发展起来后发展起来的一种编码。它检测高位和低位。如果同时大于0x7F,则认为是GB2312,否则认为是ASCII码。
3. GBK(1995)和GB18030(2005/2000)
每个汉字占2个字节。由于汉字较多,GB2312无法满足需求。 GBK包含了GB2312的全部内容,
同时新增近2万个汉字(包括繁体字)和符号。只要求高位大于0x7F,低位小于0x7F即可,算是中文。
> 国家标准GB18030-2000《信息交换用中文编码字符集基本集增补》是我国对GB2312-1980的后续和
继GB13000-1993之后最重要的汉字编码标准,包括中国各种少数民族文字在内的7万多个汉字。
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中iter函数的使用方法11/20
- ♥ Python超详raise用法10/21
- ♥ Python让七夕告白10/24
- ♥ 如何在cmd中调用python脚本?11/07
- ♥ 如何在python代码中指定保存的文件格式11/14
- ♥ 什么是 python vim 插件09/18
内容反馈