Registro de codec e funções de suporte

int PyCodec_Register(PyObject *search_function)

Registra uma nova função de busca de codec.

Como efeito colateral, tenta carregar o pacote encodings, se isso ainda não tiver sido feito, com o propósito de garantir que ele sempre seja o primeiro na lista de funções de busca.

int PyCodec_KnownEncoding(const char *encoding)

Return 1 or 0 depending on whether there is a registered codec for the given encoding.

PyObject* PyCodec_Encode(PyObject *object, const char *encoding, const char *errors)

API de codificação baseada em codec genérico.

object is passed through the encoder function found for the given encoding using the error handling method defined by errors. errors may be NULL to use the default method defined for the codec. Raises a LookupError if no encoder can be found.

PyObject* PyCodec_Decode(PyObject *object, const char *encoding, const char *errors)

API de decodificação baseada em decodificador genérico.

object is passed through the decoder function found for the given encoding using the error handling method defined by errors. errors may be NULL to use the default method defined for the codec. Raises a LookupError if no encoder can be found.

API de pesquisa de codec

In the following functions, the encoding string is looked up converted to all lower-case characters, which makes encodings looked up through this mechanism effectively case-insensitive. If no codec is found, a KeyError is set and NULL returned.

PyObject* PyCodec_Encoder(const char *encoding)

Obtém uma função de codificação para o encoding dado.

PyObject* PyCodec_Decoder(const char *encoding)

Obtém uma função de decodificação para o encoding dado.

PyObject* PyCodec_IncrementalEncoder(const char *encoding, const char *errors)

Obtém um objeto IncrementalEncoder para o encoding dado.

PyObject* PyCodec_IncrementalDecoder(const char *encoding, const char *errors)

Obtém um objeto IncrementalDecoder para o encoding dado.

PyObject* PyCodec_StreamReader(const char *encoding, PyObject *stream, const char *errors)

Obtém uma função de fábrica StreamReader para o encoding dado.

PyObject* PyCodec_StreamWriter(const char *encoding, PyObject *stream, const char *errors)

Obtém uma função de fábrica StreamWriter para o encoding dado.

API de registro de tratamentos de erros de decodificação Unicode

int PyCodec_RegisterError(const char *name, PyObject *error)

Registra a função de retorno de chamada de tratamento de erro para o nome fornecido. Esta chamada de função é invocada por um codificador quando encontra caracteres/bytes indecodificáveis e nome é especificado como o parâmetro de erro na chamada da função de codificação/decodificação.

O retorno de chamada obtém um único argumento, uma instância de UnicodeEncodeError, UnicodeDecodeError ou UnicodeTranslateError que contém informações sobre a sequencia problemática de caracteres ou bytes e seu deslocamento na string original (consulte Objetos de exceção Unicode para funções que extraem essa informação). A função de retorno de chamada deve levantar a exceção dada, ou retornar uma tupla de dois itens contendo a substituição para a sequência problemática, e um inteiro fornecendo o deslocamento na string original na qual a codificação/decodificação deve ser retomada.

Retorna``0`` em caso de sucesso, -1 em caso de erro.

PyObject* PyCodec_LookupError(const char *name)

Lookup the error handling callback function registered under name. As a special case NULL can be passed, in which case the error handling callback for “strict” will be returned.

PyObject* PyCodec_StrictErrors(PyObject *exc)

Levanta exc como uma exceção.

PyObject* PyCodec_IgnoreErrors(PyObject *exc)

Ignora o erro de unicode, ignorando a entrada que causou o erro.

PyObject* PyCodec_ReplaceErrors(PyObject *exc)

Substitui o erro de unicode por ? ou U+FFFD.

PyObject* PyCodec_XMLCharRefReplaceErrors(PyObject *exc)

Substitui o erro de unicode por caracteres da referência XML.

PyObject* PyCodec_BackslashReplaceErrors(PyObject *exc)

Substitui o erro de unicode com escapes de barra invertida (\x, \u e \U).