您的位置:首页 > 编程语言 > Python开发

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

2016-01-03 01:54 453 查看
当文本中含有很多各种各样的字符时,此时读取文件如果还用

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’

便可以将文本转化成字符串了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: