工作上需要分析一些客户发过来的文件,但是实际发现文件编码很混乱,怀疑是客户也是把几个来源的内容不做转码而拼凑的,file -I
识别不了:
$ file -I logs/mv1.txt
logs/mv1.txt: text/plain; charset=unknown-8bit
用 atom 打开文件,大致如下:
写了一个函数把乱码部分提取出来,想重新编码
if __name__ == "__main__":
cont = get_content("mv1.txt")
#print cont.decode('gbk')
print cont.decode('gb2312')
但是总是提示错误:
UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 0-1: illegal multibyte sequence
客户比较强势,我这边推动不了客户修改 log 文件格式,不知道大伙有解决方案么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.