趣谈Unicode、ASCII、UTF-8、GB2312、GBK等编码知识
什么是编码?
计算机是一台二进制数处理机器,它无法直接处理人类可读的字符和文本。因此,需要通过一种规范来将字符和文本转化为计算机可识别的二进制数,这个规范就叫做编码。
ASCII编码
ASCII编码,全称是American Standard Code for Information Interchange,中文名称为“美国信息互换标准代码”,同样也是一个字符编码的规范。它是由美国国家标准学会(ANSI)于1963年制定。ASCII编码主要包含128个字符,包括26个英文大写字母、26个英文小写字母、10个阿拉伯数字、标点符号(如句号、感叹号等)和控制字符。
因为ASCII编码只有128个字符,不能满足其他语言文字的需求,因此逐渐被Unicode编码取代。
Unicode编码
Unicode是一种字符集,它为所有文字、符号和表情等等定义了一个唯一的数字码点,用于表示世界上所有的字符。Unicode编码包含了目前世界上所有与语言有关的符号以及文字,是一个通用字符编码标准。
Unicode编码包括了许多子集,比如UTF-8、UTF-16、UTF-32等。其中,UTF-8编码是最广泛使用的一种Unicode编码。
UTF-8编码
UTF-8编码是一种变长字符编码,也是一种Unicode编码的实现方式,它使用1~4个字节来表示一个字符,根据字符的不同而变化。
UTF-8编码的优点在于它能够表示任意字符,包括Unicode编码中的所有字符,而且它也具有很好的兼容性,因为它能够与ASCII编码兼容。
下面是一个UTF-8编码的例子:
中 -> 11100100 10111000 10101101
GB2312编码和GBK编码
GB2312编码是一种双字节字符集,也是一种汉字编码标准。GB2312编码一共有7445个字符,包括了现代汉语中所有的常用汉字。
GBK编码是GB2312编码的扩展,它使用两个字节来表示一个字符,其中包含了更多的汉字和其他的符号。GBK编码包含了GB2312编码中的所有字符,以及新加入的18000多个汉字和符号。
示例:
你 -> GB2312编码:B1A3,GBK编码:C4EA
以上就是Unicode、ASCII、UTF-8、GB2312、GBK等编码知识的详细介绍,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:趣谈Unicode、Ascii、utf-8、GB2312、GBK等编码知识 - Python技术站