编解码器注册表和支持功能 – 实用程序(Python教程)(参考资料)
编解码器注册表和支持函数
- int
PyCodec_Register( PyObject *search_function) - 注册一个新的编解码器搜索功能.
作为副作用,这会尝试加载
encodings包,如果还没有,请确保它始终位于搜索功能列表的第一位.
- PyObject*
PyCodec_Encode( PyObject *object,const char *encoding,const char *errors) - Return value: New reference.
基于通用编解码器的编码API.
object使用encoding定义的错误处理方法传递给定errors. errors的编码器函数NULL使用为编解码器定义的默认方法。如果找不到编码器,则调出
LookupError.
- PyObject*
PyCodec_Decode( PyObject *object,const char *encoding,const char *errors) - Return value: New reference.
基于通用编解码器的解码API.
object通过为给定的encoding使用errors. errors或NULL定义的错误处理方法来使用为编解码器定义的默认方法。如果找不到编码器,则提高
LookupError.
Codec lookup API
在以下功能中,encoding查找字符串转换为alllower-case字符,这使得通过此机制查找的编码有效地区分大小写。如果没有找到编解码器,KeyError就是NULLreturn
- PyObject*
PyCodec_Encoder( const char *encoding) - Return value: New reference.
获取给定的编码器函数encoding.
- PyObject *
PyCodec_Decoder( const char *encoding) - Return value: New reference.
获取给定encoding.
- PyObject *
PyCodec_IncrementalEncoder( const char *encoding,const char *errors) - Return value: New reference.
得到一个
IncrementalEncoder对象给encoding.
- PyObject *
PyCodec_IncrementalDecoder( const char *encoding,const char *errors) - Return value: New reference.
得到一个
IncrementalDecoder给定的对象encoding.
- PyObject *
PyCodec_StreamReader( const char *encoding,PyObject *stream,const char *errors) - Return value: New reference.
为给定的
StreamReader获得一个encoding.
- PyObject *
PyCodec_StreamWriter( const char *encoding,PyObject *stream,const char *errors) - Return value: New reference.
为给定的
StreamWriter获取encoding.
工厂函数用于Unicode编码错误处理程序的注册表API
- int
PyCodec_RegisterError( const char *name,PyObject *error) - 注册错误处理回调函数error在给定的name。当遇到可编码的字符/不可解码的字节和name被指定为编码/解码函数调用中的错误参数.
回调得到一个参数,
UnicodeEncodeError,UnicodeDecodeError要么UnicodeTranslateError它包含有关字符或字节的问题序列及其在原始字符串中的偏移量的信息(请参阅 Unicode异常对象用于提取此信息的功能)。回调必须要么提高给定的异常,要么返回两个项目的tupleconining替换有问题的序列,并返回原始字符串中的偏移量的整数,在该字符串中应该进行编码/解码.成功时返回
0,-1错误.
- PyObject*
PyCodec_LookupError( const char *name) - Return value: New reference.
查找在name下注册的错误处理回调函数。作为特殊情况NULL可以传递,在这种情况下将返回错误处理回调“严格”.
- PyObject*
PyCodec_ReplaceErrors( PyObject *exc) - Return value: New reference.
用
?或U+FFFD.
- 替换unicode编码错误PyObject *
PyCodec_XMLCharRefReplaceErrors(PyObject *exc) - Return value: New reference.
用XML字符引用替换unicode编码错误.
- PyObject*
PyCodec_BackslashReplaceErrors( PyObject *exc) - Return value: New reference.
用反斜杠转义符替换unicode编码错误(
\x,\u和\U).
- PyObject *
PyCodec_NameReplaceErrors( PyObject *exc) - Return value: New reference.
用以下内容替换unicode编码错误
\N{...}escapes.新版3.5.
评论被关闭。