Python跨平台处理文本的坑我就先踩了。
基础知识
操作系统默认编码
操作系统 | 默认编码 |
---|---|
Windows | GBK |
MacOS | Unicode |
Linux | UTF8 |
Python文件转码模式
源编码 –decode–>> Unicode编码 –encode–>> 目标编码
Python在处理字符串的时候,使用decode会将字符串解码成Unicode编码,然后再按照指定编码进行encode,就可对文本进行编码处理。
chardet的使用
|
|
坑,大坑
- MacOS生成的文件默认的编码为Unicode,在使用chardet进行编码识别的时候,会识别成UTF16-LTE而不是想当然的Unicode。
- Mac的编辑器带的BOM,Python在进行处理的时候并不会忽略,所以直接decode会报错
- 查不到资料的。
自制文件转码模块
|
|