python入门之编码错误处理方案

        近期比较空闲,也想更好的使用python,所以决定整理一下基础知识,代码来自源码,解析来自官方文档。

codecs.Codec = class Codec(builtins.object)
    定义无状态编码器/解码器的接口。
    .encode()/.decode()方法可以通过提供errors参数(字符串值)来使用不同的错误处理方案。
    这些字符串值是预定义的:
        'strict'            - 引发ValueError错误(或子类)
        'ignore'            - 忽略该字符并继续下一个字符
        'replace'           - 替换为合适的替换字符
             Python将在解码时使用内置Unicode编码解码器的官方U+FFFD替换字符,在编码时使用'?'
        'surrogateescape'   - 替换为专用代码点U+DCnn
        'xmlcharrefreplace' - 替换为适当的XML字符引用(仅用于编码)
        'backslashreplace'  - 替换为反斜杠转义序列。
        'namereplace'       - 替换为\N{…}转义序列(仅用于编码)
        允许值集可通过register_error进行扩展。
    此处定义方法:
        decode(self, input, errors='strict')

            解码对象输入并返回tuple (output object, length consumed)
            输入必须是提供bf_getreadbuf缓冲槽的对象
            Python字符串、缓冲区对象和内存映射文件就是提供此插槽的对象的示例

            错误定义要应用的错误处理。它默认为"strict"处理

            该方法不能在编解码器实例中存储状态
            对于必须保持状态以使解码有效的编解码器,请使用StreamReader

            在这种情况下,解码器必须能够处理零长度输入并返回输出对象类型的空对象

        encode(self, input, errors='strict')

            对对象输入进行编码并返回tuple (output object, length consumed)

            错误定义要应用的错误处理。它默认为"strict"处理

            该方法不能在编解码器实例中存储状态
            对于必须保持状态以提高编码效率的编解码器,请使用StreamWriter

            在这种情况下,解码器必须能够处理零长度输入并返回输出对象类型的空对象
    此处定义数据描述符:
    __dict__
        实例变量字典(如果已定义)
    __weakref__
        对象的弱引用列表(如果已定义)

参考文档:Python 教程 — Python 3.10.0 文档

待完善...

上一篇:Ubuntu16.04调整屏幕分辨率至1920*1080


下一篇:实验2:Open vSwitch虚拟交换机实践