博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于NLP的编码问题的思索
阅读量:4089 次
发布时间:2019-05-25

本文共 627 字,大约阅读时间需要 2 分钟。

前几天,在尝试通过nltk工具包对唐诗进行一些处理分析的时候,遇到了编码解码方面的错误。错误如下,就是
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 738868-738869: illegal multibyte s。
很明显,这是编码解码上的错误,于是去度娘那里仔细了解了一下编码解码方面的知识,得到了一个算是一劳永逸的解决思路:由于Python处理的字符都是Unicode编码,不管输入的文本是什么编码,把输入的文本解码为Unicode编码,然后输出时再编码为所需编码。

所以我在解决我的这个中文编码问题中,首先将输入的文本另存为utf-8格式之后,然后使用python处理解码为unicode,处理完后的结果写入文本时再编码为utf-8就可以了。
其中读取文本的代码片段为:
import codecslines = codecs.open(filename1,'r',encoding='utf-8')for line in lines:	print(line.encode('utf-8'))

写入文本的代码片段为:
with open(filename2, 'w') as lines:	for line in list_s:		lines.write(line.encode('utf-8')+'\n')
这样就完美解决了这个UnicodeDecode问题。

转载地址:http://lhyii.baihongyu.com/

你可能感兴趣的文章
Java中的Future模式原理自定义实现
查看>>
vmware桥接模式下,配置centos的ip地址网关等,搭建局域网服务器
查看>>
xstream练习
查看>>
调度框架Quartz
查看>>
由单线程到多线程生产消费模式的代码改造历程
查看>>
windows解压缩版mysql5.6.40安装
查看>>
HTTP三次握手实践遇到的问题及对应的解决思路
查看>>
JAVA版基于netty的物联网网关
查看>>
批量日志入DataHub环境(非实时)
查看>>
RocketMQ源码解读系列——1、namesrv源码
查看>>
RocketMQ源码解读系列——2、filtersrv源码
查看>>
IOTGate系列之一 源起
查看>>
IOTGate系列之二 如何启动
查看>>
IOTGate系列之三 多规约配置——包含本地和控制台配置
查看>>
netty CPU使用率达到100%问题解决
查看>>
IOTGate系列之四 网关所有功能预览
查看>>
配置中心阿波罗学习之一 Quick Start
查看>>
配置中心阿波罗学习之二 项目实战
查看>>
MQTT客户端软件mqtt-spy使用教程
查看>>
bw项目抱佛脚入门资料-1.理论基础
查看>>