人类使用文本,计算机使用字节序列。
三明治原则
解码:把字节序列变成人类可读的文本字符串的过程
编码:把字符串变成用于存储或传输的字符序列的过程。
>>> open('cafe.txt', 'w', encoding='utf_8').write('café') 4 >>> open('cafe.txt').read() 'café'
编解码器:(codec,encoder/decoder)
python自带了超过100种编解码器,用于在文本和字节之间相互转换。‘utf-8’就是一个编解码器
写入文件指定编码为utf-8,读取的时候未指定,python假定使用系统默认编码。(在linux,Mac默认使用utf-8就不会出现问题。)