zoukankan      html  css  js  c++  java
  • UnicodeDecodeError: 'utf-8' codec can't decode byte..问题

    解决UnicodeDecodeError: 'utf-8' codec can't decode byte..问题

    • 问题描述:

    • 问题分析:

      该情况是由于出现了无法进行转换的 二进制数据 造成的,可以写一个小的脚本来判断下,是整体的字符集参数选择上出现了问题,还是出现了部分的无法转换的二进制块:

    • 问题解决

      法一:将gbk编码数据decode('gbk')得到utf8编码的数据

      法二:修改字符集参数,一般这种情况出现得较多是在国标码(GBK)和utf8之间选择出现了问题。 出现异常报错是由于设置了decode()方法的第二个参数errors为严格(strict)形式造成的,因为默认就是这个参数,将其更改为ignore等即可。例如:

      line.decode("utf8","ignore")

      法三:在网上搜了很多人的处理方法是在程序的顶部加

      import sys
      reload( sys )
      sys.setdefaultencoding('gbk')

    可是我自己试一了,程序错是不报了,但是实际没有运行

    最后,我在程度的顶部加了下面两行就好了,中文也可以正常显示了

      # !/usr/bin/env Python
     # coding=utf-8

    还有一种情况就是如果你用pyhton IO读取一个文件,那么要求将文件的编码方式转换成UTF-8。

  • 相关阅读:
    [POJ 1050]To the Max
    P1678 烦恼的高考志愿
    P1873 砍树
    P1102 A-B 数对
    P6771 [USACO05MAR]Space Elevator 太空电梯
    P2347 砝码称重
    P1832 A+B Problem(再升级)
    P1679 神奇的四次方数
    P1877 [HAOI2012]音量调节
    P1049 装箱问题
  • 原文地址:https://www.cnblogs.com/ST-2017/p/10428710.html
Copyright © 2011-2022 走看看