• [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脚本

  • 相关阅读:
    非主流的textarea自增长实现
    php配置之Zend Debugger和Zend Optimizer
    重新发明轮子之jQuery新闻滚动插件
    javascript正则表达式复习
    jquery插件最佳实践之progressbar
    初试WebStorage之localstorage
    javascript Function之bind
    图片预加载小记
    jQuery AjaxQueue改进
    :nthchild与:nthoftype之小解
  • 原文地址:https://www.cnblogs.com/weiqi/p/8253019.html
Copyright © 2020-2023  润新知