【转载】python解决文本乱码问题及文本二进制读取后的处理

转自:https://blog.csdn.net/u011316258/article/details/50450079

 

python解决文本乱码问题及文本二进制读取后的处理

吲哚乙酸

 

当文本中含有很多各种各样的字符时,此时读取文件如果还用
fr1 = open("filename","r")
的r模式,遇到ascii码表识别不了的会报错,如:UnicodeEncodeError: ‘gbk’ codec can’t encode character
此时可以用二进制读取文件换成

fr1 = open("filename","rb")
二进制一般都可以顺利的读取,


读取后

r1 = fr1.readline()
是二进制制类型的b’。。。’的,无法对此解析,
所以可用decode( )函数来解码,

r1_to_str = r1.decode('gbk')
或者,gb18030,utf-8,这时就可以解析了


2. 如果这时,不论是,gbk还是gb18030都解析不了的时候,
还是会报错UnicodeEncodeError: ‘gbk’ codec can’t encode character ,
而这时候字符对文本分析可能又没有什么用的时候,我们可以忽略该字符,
可用

r1_to_str = r1.decode('gbk','ignore')
或者’ignore’换成’replace’
便可以将文本转化成字符串了。
————————————————
版权声明:本文为CSDN博主「吲哚乙酸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011316258/article/details/50450079

posted @ 2023-02-24 09:52  workingdiary  阅读(209)  评论(0编辑  收藏  举报