Python3中如何解决中文乱码与编码的问题

1.解决乱码问题:   

    pyhton中内部所有编码是Unicode,中文是gbk;正常情况下,我们输出的是utf-8;  

    我们可以采用sys.getdefaultencoding()查看系统默认的编码; 解决方法有如下几种:

        1.在文件开头添加上:#coding:utf-8或者# -*- coding:utf-8 -*-

         2.转换路径:原文件编码 ->unicode中转码 ->我们需要的编码格式     (decode()可选) ->unicode ->encode(),如果内容已经unicode,则不需要decode(),直接使用encode()

         3.举例:  

                 a.如果网页是utf-8,我们可使用html.read().decode('utf-8')将网页在控制台打印;  

                 b.如果网页是gb2312,则使用html.read().decode('gbk').encode(''utf-8)正常打印;(注意:decode('gbk')不能使用gbk2312,需用统一使用gbk)  

         4.判断指定的内容是什么编码:(注意:使用unicode只针对python2,python3已经取消了unicode函数,python3默认是utf8编码,Python 3中基本的str就是unicode,所以可以直接判断str: >>> isinstance('s', str) True)      

               if isinstance(content,unicode):表示如果content编码为unicode则为True,否则False

转载于:https://www.cnblogs.com/ysq0908/p/9420436.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值