目录
- input
- ord
- chr
- len
- 字节与字符
打印的作用
同样的不同类型加在一起也是可以打印的,结果为1+2= 3.注意逗号为空格。
如果要打印多行数据可以用下面这种语法
其中在一个打印字符串中,如果有转定义符想让它不转定义,要在前面加入r
打印结果。一个是加了r一个没加r
input
ord和chr
ord:把字符转化为十进制数
chr:把十进制数转化为字符
如果知道字符的整数编码,还可以用十六进制写进str
len
查看字符的长度,这里显示为7
len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数
字节与字符
由于python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干字节,如果在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes.
python对bytes类型的数据用带b前缀的单引号或双引号表示
以Unicode表示的str通过encode()方法可以编码为指定的bytes例如
>>> 'ABC'.encode('ascii') b'ABC' >>> '中文'.encode('utf-8') b'\xe4\xb8\xad\xe6\x96\x87' >>> '中文'.encode('ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes.就要把bytes变为str。就需要用decode()方法
>>> b'ABC'.decode('ascii') 'ABC' >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') '中文'