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

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

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

int PyCodec_KnownEncoding( const char  *encoding)
返回1或0取决于是否有注册的编解码器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. 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_StrictErrors( PyObject  *exc)
Return value: Always NULL.

提升exc作为例外.

PyObject* PyCodec_IgnoreErrors(PyObject  *exc)
Return value: New reference.

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

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.

评论被关闭。