python 字符编码、格式化
标签:单引号字节流nonelog计算类型转换文件读取字符完成后
数据类型-布尔值一个布尔值只有True、False两种值,要么是True,要么是False
布尔值可以用and、or和not运算
空值是Python里一个特殊的值,用None表示
Python对bytes类型的数据用带b前缀的单引号或双引号表示:x = b‘ABC‘
变量变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型
//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数
字符编码在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:>>> ord(‘A‘)65>>> ord(‘中‘)20013>>> chr(66)‘B‘>>> chr(25991)‘文‘
以Unicode表示的str通过encode()方法可以编码为指定的bytes,>>> ‘ABC‘.encode(‘ascii‘)b‘ABC‘>>> ‘中文‘.encode(‘utf-8‘)b‘\\xe4\\xb8\\xad\\xe6\\x96\\x87‘如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法>>> b‘ABC‘.decode(‘ascii‘)‘ABC‘>>> b‘\\xe4\\xb8\\xad\\xe6\\x96\\x87‘.decode(‘utf-8‘)‘中文‘
len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数
>>> len(b‘ABC‘)3>>> len(b‘\\xe4\\xb8\\xad\\xe6\\x96\\x87‘)