最近在使用python3做NLP中文文本分类时,遇到如下非常恼人的问题,一开始没有在意,后来忍无可忍弄了一天。
UnicodeDecodeError: 'utf8' codec can't decode byte 0xcc in position 468: invalid continuation byte
分析原因
原代码段
with open(filename,"r",encoding='utf-8') as f:
content = f.read()
主要原因
和下载的搜狗语料库本身的编码有关系,本身编码是ASCII码,而我们需要以UTF-8来读取,这就超出python3的能力了就会报错。
如何查看编码
有很多命令可以用于查看,比如en

本文介绍了在Mac系统中遇到的文件编码问题,主要是由于文件编码为ASCII而非UTF-8导致的Python3处理错误。文章详细讲解了如何查看文件编码,并推荐了使用enca这个命令行工具进行智能识别和批量转换编码,还提到了Windows系统的简单解决方案。通过本文,读者可以了解ASCII、Unicode和UTF-8等编码,并学习如何解决不同编码带来的问题。
12万+

被折叠的 条评论
为什么被折叠?



