美文网首页
UnicodeDecodeError: 'gbk' codec

UnicodeDecodeError: 'gbk' codec

作者: 写给明天的自己 | 来源:发表于2019-11-29 21:54 被阅读0次

    别老说你输在起跑线上,别人的起跑线是你永远到不了的终点。

    python读取ini文件有中文,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 174

    python3读取ini配置文件时引入的模块

    from configparser import ConfigParser

    修改前:

    cfg = ConfigParser()

    cfg.read('../config/email.ini')

    修改后:

    cfg = ConfigParser()

    cfg.read('../email.ini',encoding="utf-8-sig")

    备注:这里需要注意的是encoding="utf-8-sig"而不是encoding="utf-8"

               这里需要注意的是encoding="utf-8-sig"而不是encoding="utf-8"

               这里需要注意的是encoding="utf-8-sig"而不是encoding="utf-8"

               重要的事情说三遍

    这里顺便说一下utf-8和utf-8-sig
    As UTF-8 is an 8-bit encoding no BOM is required and anyU+FEFF character in the decoded Unicode string (even if it’s the firstcharacter) is treated as a ZERO WIDTH NO-BREAK SPACE.

    UTF-8以字节为编码单元,它的字节顺序在所有系统中都是一様的,没有字节序的问题,也因此它实际上并不需要BOM(“ByteOrder Mark”)。但是UTF-8 with BOM即utf-8-sig需要提供BOM。

    通俗的讲就是utf-8-sig是对字节编码有序的,而utf-8没有字节序的问题。


    如果感觉本文对您有帮助可以点个赞哦

    本文为学习笔记,转载请标明出处

    本文仅供交流学习,请勿用于非法途径

    本文仅是个人意见,如有想法,欢迎留言

    相关文章

      网友评论

          本文标题:UnicodeDecodeError: 'gbk' codec

          本文链接:https://www.haomeiwen.com/subject/ufqnwctx.html