zoukankan      html  css  js  c++  java
  • python print 打印的数据包含中文,打印报错UnicodeDecodeError: 'gbk' codec can't decode bytes in position 459-460: illegal multibyte sequence解决办法

    python 2.7 print 的数据中若包括中文,打印则会报错UnicodeDecodeError: 'gbk' codec can't decode bytes in position 459-460: illegal multibyte sequence,

    错误原因:将一个字符串,通过gbk的方式,去解码,想要获得Unicode字符串出错了,一般是因为解码的方式与其原编码方式不一致所致,比如该数据编码格式是utf-8,你却用gbk去解码,当然出错,“解码方式和编码方式要保持一致”,你应该用utf-8的解码方式去解码utf-8编码的数据,才能成功解码为unicode类型的数据。

    具体解决办法:

    1、通过encodetype=chardet.detect(data)['encoding']查看打印的数据data的编码格式encodetype;

    2、通过data.decode('encodetype')解码该数据,将成功解码为unicode类型的数据。

    3、示例:

    这样print就可以正常打印包含中文的数据了。

  • 相关阅读:
    MySQL 优化
    Log4j2 中format增加自定义的参数
    MySQL 索引
    Linux中top和free命令详解(转)
    JAVA面试题
    Servlet3.0的可插拔功能
    开放通用Api,总有你喜欢的
    Git常用命令
    支付宝无法回调或者回调后验签失败
    Promise
  • 原文地址:https://www.cnblogs.com/apple2016/p/10191143.html
Copyright © 2011-2022 走看看