Python: open和codecs.open

python的编解码:

  input文件(gbk, utf-8...)   ----decode----->   unicode  -------encode------> output文件(gbk, utf-8...)

很多文件处理的包是unicode编码,刚开始读入文件(gbk, utf-8...)后要decode为unicode编码格式,再encode为需要

的格式(gbk, utf-8...)。

第一种 用open():

  f=open('xxx', 'r')
  content=f.read().decode('utf-8')

第二种 用codecs.open():

  f=codecs.open(XXX,'r', encoding='utf-8') #使用codecs.open读入时直接解码
  content=f.read()

------2016-12-23--------------------------------------

问题:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multibyte sequence

  原因可能是文本里有奇怪的符号比如:®,?(英文的问号)( 在学习机器学习实战ham/23.txt这本书时,遇到®符号问题)

 

转载于:https://www.cnblogs.com/billyzh/p/5939348.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值