廖雪峰-Python学习笔记

编码与字符串
一个字节由8位二进制数组成
可以表示256个字符,用来表示英文字母和符号足够
但汉字数量比较多,至少需要2个字节
因此不能用ASC编码方式,需要规定其他编码方式
于是就有了Unicode编码,一般用两个字节表示汉字(生僻字除外
比如“中”用二进制表示:01001110 00101101
但如果文本是用英文来写的
Unicode编码方式比ASC编码方式多一倍的存储空间
在传输和存储上十分不划算
因此出现了可变长编码的UTF-8编码
即不同的字符用不同的字节编码
常用的英文字符编码成1个字节
汉字通常是三个字节
在计算机内存中,统一使用Unicode编码
当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

在Python3中字符串用Unicode编码
ord()获取字符的整数表示
chr()表示将整数转化为字符
eg:
ord(‘A’)
65
chr(66)
‘B’

str类型的数据转化为bytes类型的数据
使用encode()方法
Python 对bytes类型的数据用前缀b表示
bytes 类型的数据每个字符只占一个字节
廖雪峰-Python学习笔记
在操作字符串时,常遇到str和bytes的互相转换
为了避免乱码问题
应当始终坚持使用UTF-8编码对str和bytes进行转换

%运算符就是用来格式化字符串的
在字符串内部,%s表示用字符串替换,%d表示用整数替换
有几个%?占位符,后面就跟几个变量或者值,顺序要对应好
如果只有一个%?,括号可以省略
廖雪峰-Python学习笔记
廖雪峰-Python学习笔记
廖雪峰-Python学习笔记