开发者学堂课程【Python 入门 2020年版:字符串的编码】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10287
字符串的编码
字符集
1. 计算机只能处理数字(其实就是数字0和数字1),如果要处理文本,就必须先把文本转换为数字才能处理。
最早的计算机在设计时采用8个比特(bit)作为一个字节(byte) , 所以,一个字节能表示的最大的整数就是255 (二进制111111=+进制255。)
(1)若计算机里只能识别0和1,那么 abcdefg......怎样被识别出来呢?
①若字符 a → 编码97, 那么怎样把97存到电脑里,只需把97转换成二进制 bin(97) → '0b1100001', 那么转换结果为01100001,八位一个字节,就可以存进去了.
②字符 A → 编码65
(2)0- 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为 ASCII编码。
①00000000 最小 0
②11111111 最大 255
2. ASCII码表使用一个字节表示一个字符,不使用最高位,它的区间范围时0-127, 一共只能表示128个字符,仅能支持英语。
(1)八进制、十进制每一个数字都代表一个字符
①退格符对应数字8
②!对应数字33
③0对应数字48
④1对应数字49
⑤A对应数字65
⑥a对应数字97
⑦DEL(delete)对应数字127
(2) 随着计算机科学的发展,西欧语言、希腊语、泰语、阿拉伯语、希伯来语等语言的字符也被添加到码表中,形成了一个新的码表 ISO8859-1(又被称为 Latin1)码表。
IS08859-1使用8位二进制表示一个字符串,使用了最高位,完全兼容 ASCII 码表。最多能表示255个字符.
3. Unicode (统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集,编码方案等。
绝大部分国家的文字都有一个对应的编码。
Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。