计算机科学-ASCII, Unicode & UTF-8 (in Python)

Posted Samaritan_z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机科学-ASCII, Unicode & UTF-8 (in Python)相关的知识,希望对你有一定的参考价值。

专题:ASCII, Unicode & UTF-8 (in Python)

1.基本概念:

1)字符集:已编号字符的有序集合,包括字符编号和字符,对计算机没有直接意义

2)编码方案:将字符集中的字符编号与二进制字符编码进行对应的映射

3)编码单位(码元):计算机处理字符时一次读取的二进制位数

4)编码:按照编码方案,由字符转换而来的二进制数据。在已知编码单位和映射关系时,计算机可以对字符进行编码,也可以对编码进行解码

2.ASCIIUnicode & UTF-8的实质:

1ASCII:字符集以及编码方案,用0~127128个字符做了编号,用8位作为编码单位,简单地把十进制编号转换而成的二进制数据作为编码

2)广义Unicode

Unicode:字符集,以16位二进制数对世界上几乎全部字符做了编号

UTF-8:编码方案,以8位(一个字节)作为编码单位,按照一定规则(每字节前几位固定)将一个字符编码为14个字节

3.ASCIIUnicode & UTF-8的应用背景:

1ASCII:只能表示英文文本

2Unicode:表示多语言文本,兼容ASCII

3UTF-8:传输、存储用Unicode表示的多语言文本,去除Unicode中的冗余部分

4.Python描述:

1bytesstr类型:

bytes:编码比特流,如0101101000101101

str:字符串,如’Python’

变量的类型可以用type()查看,或者以输出时是否带有b’’来区分

2encodedecode方法:

encodestr以声明的编码方案转换为bytes,也就是编码

decodebytes以声明的编码方案转换为str,也就是解码

5.Python中的字符操作:

1)在将字符串存入硬盘和从硬盘中读取字符串的过程中,自动进行编码和解码

2)为了避免乱码问题,应坚持使用UTF-8方案

以上是关于计算机科学-ASCII, Unicode & UTF-8 (in Python)的主要内容,如果未能解决你的问题,请参考以下文章

Win32API UNICODE编码&宽字节

ASCII, Unicode 与 UTF-8

Unicode ASCII UTF-8 GBK关系

Unicode&UTF&码点关系

python中,ascii,unicode,utf8,gbk之间的关系梳理

浅显总结ASCII Unicode UTF-8的区别