期待经过一段时间的积累,能够避免很多编码格式遇到的问题
Python相关
很多时候,都是utf-8和gbk两种编码格式的冲突,很多时候用记事本打开,然后指定为gbk格式另存,能够解决大部分问题,但是有时候也有些字符无法转换。所以最好是在写代码时规避这些内容!
Encode和Decode
unicode 是一种无编码格式的状态,不同的应用会自动尝试用一些自以为正确的编码格式(如utf-8、gbk)等格式解码
encode
encode()方法就是将unicode编码方式转化为对应的实现方式
str.decode(encoding=“utf-8”, errors='strict') # 严格
decode
decode()方法就是实现方式变回Unicode
str.encode(encoding=“utf-8”, errors='ignore') #忽略错误
写入正常,结果打开乱码
写入csv,结果打开乱码
奇技淫巧,指定编码格式为
utf-8-sig
,似乎这种编码格式是utf-8
和gbk
格式的交际,具体忘记了;按道理来说应该先试一试gbk
格式data_df.to_csv(filename.csv, index=False, encoding='utf-8-sig')
写入报错,有些字符不能转换
读取json文件,写入csv报错
原因应该是有些字符串可以使用utf-8解码显示,但是无法重新编码为gbk,就比如一些
/u200
,真是让人头大,奇技淫巧之忽略,先解码为gbk再编码answer_Full = answer_Full.encode('gbk','ignore').decode('gbk') # 设置忽略错误