Unicode 和字节字符串
字符串编码方式:
-
ASCLL标准
-
每个字符存储在一个8位的字节中(实际上,只有其中的7位真正用到)
-
ord给出了一个字符的整数代码值
-
chr针对一个给定的整数代码值返回其字符
-
-
字节和字符串之间的来回转换:
-
编码 是根据一个想要的编码名称,把一个字符串翻译为其原始字节形式
-
解码 是根据其编码名称,把一个原始字节串翻译为字符串形式的过程
-
-
UTF-8编码:
- 通用转换格式,如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数(连续的1后也固定了为0,不参与),其余各字节均以10开头(序列中的每个字节的值在128到255之间).剩余的位数顺序抽取出来表示Unicode码
python字符串类型:
-
str 表示Unicode文本(8位的和更宽的)。
-
定义为一个不可改变的字符序列(不一定是字节)
-
str函数或字符串常量形式,‘x x x’ 、 “x x x” 和三引号字符串块,都产生一个 str
-
bytes.decode() 和 str(B, encoding=‘ascii’) 把raw bytes转换为其字符串str形式,encoding参数可选,但加上才能正则实现转换,否则只是打印带b前缀的字符串
-