Computer Science - Background - ASCII, Unicode & UTF-8 (in Python)

Background - 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方案

posted @ 2018-01-21 10:09  Samaritan_z  阅读(178)  评论(0编辑  收藏  举报