python中文编码问题(decode('gbk').encode('utf-8')和decode('utf-8').encode('gbk')这对好基友)

    想必每个Python新手都会遇到Python编码的问题,特别是使用到汉字的时候。UTF-8编码是比较通用的编码方式,它可以输出中文,而Python2中默认的编码方式一般是GBK,所以往往我们期望在console下输出汉字时都是乱码,或者当raw_input()输入汉字后,在后面操作中遇到问题的现象(在爬虫程序中尤为常见)。


    而仔细观察,程序中解析出的汉字通常是:'\xe4\xb8\xad\xe5\x9b\xbd' 这种形式的(GBK编码),输出后就变成乱码了,所以应该先将其GBK解码,然后再UTF-8编码,然后再输出:

decode('gbk').encode('utf-8')

这样就能输出汉字了。


    而在爬虫程序中手动输入一个汉字时通常要先对其UTF-8解码,然后再GBK编码:

decode('utf-8').encode('gbk')

这样在后面的操作中才能避免出错。

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值