编码
文件:
在将代码写在内存中时,使用Unicode编码,在保存或传输文件时将Unicode编码转换成UTF-8编码,在进行编辑时,将UTF-8编码转换成Unicode编码在内存中进行编辑,最后以UTF-8编码进行保存或传输。
网页:将服务器动态提供的Unicode编码转换成UTF-8编码格式展示给用户浏览
编码之间的关系:ASCII码是Unicode编码的一部分,但用Unicode编程所占空间是ASCII码的一倍,这在很多情况下是不必要的。为了节省空间,UTF-8应运而生,它给常用英文字符分配1个字节,给中文字符分配3个字节,给生僻字符分配4~6个字节,实现了节约空间。Unicode编码可以看作是UTF-8的一部分,支持Unicode编程的程序也支持UTF-8.
字符串函数
ord():把引号内的单个字符转换成对应编码
chr():把编码转换成相应字符
encode()将str编码转换成指定的bytes
如:’凡尘’.encode(‘UTF-8’),’abc’.encode(‘ASCII’)
decode()将字节流变为str
如:>>> b’ABC’.decode(‘ascii’)
‘ABC’b’\xe4\xb8\xad\xe6\x96\x87’.decode(‘utf-8’)
‘中文’
用以忽略一小部分无效的错误字节
b’\xe4\xb8\xad\xff’.decode(‘utf-8’, errors=’ignore’)
‘中’len()方法用来计算str中字符数
中文字符经UTF-8编码后占三个字节,而英文字符只占一个字节
PS:编程统一使用UTF-8编码,防止出现乱码,文件选择UTF-8的编码格式,并在程序内声明# -- coding: utf-8 --
格式化输出
%s指定数据类型,整数(补0)和小数部分长度 其中%的输出使用转义字符,%%
- -
format()方法使用传入的参数依次替代语句中的{0},{1}的占位符