You are here:  Home » Python » 编解码器注册表和支持功能 – 实用程序(Python教程)(参考资料)

编解码器注册表和支持函数

int PyCodec_Register PyObject  *search_function
注册一个新的编解码器搜索功能.

作为副作用,这会尝试加载encodings包,如果还没有,请确保它始终位于搜索功能列表的第一位.

int PyCodec_KnownEncoding const char  *encoding
返回10取决于是否有注册的编解码器encoding。这个函数总是成功的.
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. errorsNULL定义的错误处理方法来使用为编解码器定义的默认方法。如果找不到编码器,则提高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_StrictErrors PyObject  *exc
Return value: Always NULL.

提升exc作为例外.

PyObject* PyCodec_IgnoreErrorsPyObject  *exc
Return value: New reference.

忽略unicode错误,跳过错误的输入.

PyObject* PyCodec_ReplaceErrors PyObject  *exc
Return value: New reference.

?U+FFFD.

替换unicode编码错误PyObject * PyCodec_XMLCharRefReplaceErrorsPyObject  *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.

评论被关闭。