decode函数乱码_Python中文乱码的2种解决方案

Python的中文乱码是个很烦人的问题,虽然网上也有非常多的解决方案,但是由于不同的项目,在细节上也有很多不同的地方,导致在实际工作中解决起来总是不尽如人意,本文也将提供2种解决方案,希望能给大家提供一些思路,帮助大家解决乱码问题。首先介绍一下我使用的环境:Windows 7 + Python 2.7.17 + PyCharm Community Edition 2016.1.5

方案一:使用decode函数

0afcf7b2b3215739bc3ade793279337a.png

在这个实例中,开头的2行代码,指定文件的编码是UTF-8的,这一步是必须的。最后一行是先用str函数将list转换为string,再使用decode函数进行解码。而参数string_escape的含义是指对二进制的字节流,一个字节一个字节的转义,与之相对应的还是一个unicode-escape,他是两个字节两个字节的转义。下面是程序执行效果。

51ec6000436e03a481588a4734c74bf1.png

我们执行一下上面的程序,从中可以看到控制台的第3行和第4行,都正确的打印出了汉字结果,即"大家好"等等字样。第5行表示,在没有使用decode之前,list显示的还是乱码,但经过decode之后,第6行就可以正确的打印出汉字来。

在上面的实例中,我们使用decode来达到我们的目的。但是每次都要增加一些函数调用和类型转换,导致整个源代码变得臃肿又难看。接下来,我们再提供一个更简捷的方案。

方案二,使用uniout

还是先上源代码。源代码开头仍然是指定文件编码是UTF-8,这一步是必须的。

d90a4f11d64108dca6f497f020a0e426.png

接下来,直接加入一行import uniout。然后我们就不再需要在源代码再进行任何特殊处理,直接print就可以在控制台上打印出正确的汉字了。

958dbad4084abaa9f4a50b1e6f91e2b9.png

如果你的环境里没有uniout,并且机器是联网的,那么可以直接用pip来安装。

5fcefd2b48fb4f3a0809d642ca388e51.png

以上就是本篇文章关于中文乱码的2种解决方案。希望能够对大家有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值