zoukankan      html  css  js  c++  java
  • [python错误]UnicodeDecodeError: 'gbk' codec can't decode byte...

    出现此错误的原因是使用'gbk'解码时报错,存在一些字符不能使用gbk来解码。

    首先,简体中文字符编码(ASCII扩展字符集)有下列几种:GB2312、GBK、GB18030。

    GB2312: 中国国家标准总局在1980年发布的《信息交换用汉字编码字符集》,共收入汉字6763个和非汉字图形字符682个。

    GBK:中国国家标准总局在1995年发布了《汉字编码扩展规范》(GBK)。GBK与GB 2312—1980国家标准所对应的内码标准兼容,同时在字汇一级支持ISO/IEC10646—1和GB 13000—1的全部中、日、韩(CJK)汉字,共计20902字。

    GB18030: 有两个版本:GB18030-2000和GB18030-2005。GB18030-2000是GBK的取代版本,它的主要特点是在GBK基础上增加了CJK统一汉字扩充A的汉字。GB18030-2005的主要特点是在GB18030-2000基础上增加了CJK统一汉字扩充B的汉字。

    其中GB18030兼容GBK和GB2312编码,在处理简体中文的时候,可以统一使用GB18030来读取GBK或者GB2312的文档。

    在编写python脚本处理简体中文文档时,可以使用下面的方式来读取文档:

    如使用:open('abc.txt', encoding= 'gb18030') 来读取文档。当遇到“GB18030”也无法编码的字符时,上面的代码会报错。可以尝试使用下面的代码来解决:

    open('abc.txt', encoding= 'gb18030', error= 'ignore')

    含编码检测及简体中文字符处理的完整例子:

    CSV文件分割与列异常处理的python脚本

  • 相关阅读:
    使用watch定时执行命令并显示结果
    LVS配置
    myeclipse通过查询源码查询方法
    导入struts2框架项目无法运行tomcat
    解决eclipse/myeclipse导入项目时出现红色叹号的方法
    my/eclipse中的debug调试
    导入项目后servlet报错
    转到Servlet出现500型错误
    关于快捷键导包失败
    关于jsp找不到servlet
  • 原文地址:https://www.cnblogs.com/weiqi/p/8253019.html
Copyright © 2011-2022 走看看