Registro de codec e funções de suporte

int PyCodec_Register(PyObject *search_function)
Part of the Stable ABI.

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

As side effect, this tries to load the encodings package, if not yet done, to make sure that it is always first in the list of search functions.

int PyCodec_Unregister(PyObject *search_function)
Part of the Stable ABI since version 3.10.

Cancela o registro de uma função de busca de codec e limpa o cache de registro. Se a função de busca não está registrada, não faz nada. Retorna 0 no sucesso. Levanta uma exceção e retorna -1 em caso de erro.

Novo na versão 3.10.

int PyCodec_KnownEncoding(const char *encoding)
Part of the Stable ABI.

Retorna 1 ou 0 dependendo se há um codec registrado para a dada codificação encoding. Essa função sempre é bem-sucedida.

PyObject *PyCodec_Encode(PyObject *object, const char *encoding, const char *errors)
Retorna valor: Nova referência. Part of the Stable ABI.

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

object é passado através da função de codificação encontrada para a codificação fornecida por meio de encoding, usando o método de tratamento de erros definido por errors. errors pode ser NULL para usar o método padrão definido para o codec. Levanta um LookupError se nenhum codificador puder ser encontrado.

PyObject *PyCodec_Decode(PyObject *object, const char *encoding, const char *errors)
Retorna valor: Nova referência. Part of the Stable ABI.

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

object é passado através da função de decodificação encontrada para a codificação fornecida por meio de encoding, usando o método de tratamento de erros definido por errors. errors pode ser NULL para usar o método padrão definido para o codec. Levanta um LookupError se nenhum codificador puder ser encontrado.

API de pesquisa de codec

Nas funções a seguir, a string encoding é pesquisada com todos os caracteres sendo convertidos para minúsculo, o que faz com que as codificações pesquisadas por esse mecanismo não façam distinção entre maiúsculas e minúsculas. Se nenhum codec for encontrado, um KeyError é definido e NULL é retornado.

PyObject *PyCodec_Encoder(const char *encoding)
Retorna valor: Nova referência. Part of the Stable ABI.

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

PyObject *PyCodec_Decoder(const char *encoding)
Retorna valor: Nova referência. Part of the Stable ABI.

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

PyObject *PyCodec_IncrementalEncoder(const char *encoding, const char *errors)
Retorna valor: Nova referência. Part of the Stable ABI.

Obtém um objeto IncrementalEncoder para o encoding dado.

PyObject *PyCodec_IncrementalDecoder(const char *encoding, const char *errors)
Retorna valor: Nova referência. Part of the Stable ABI.

Obtém um objeto IncrementalDecoder para o encoding dado.

PyObject *PyCodec_StreamReader(const char *encoding, PyObject *stream, const char *errors)
Retorna valor: Nova referência. Part of the Stable ABI.

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

PyObject *PyCodec_StreamWriter(const char *encoding, PyObject *stream, const char *errors)
Retorna valor: Nova referência. Part of the Stable ABI.

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)
Part of the Stable ABI.

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)
Retorna valor: Nova referência. Part of the Stable ABI.

Pesquisa a função de retorno de chamada de tratamento de erros registrada em name. Como um caso especial, NULL pode ser passado; nesse caso, o erro no tratamento de retorno de chamada para “strict” será retornado.

PyObject *PyCodec_StrictErrors(PyObject *exc)
Retorna valor: Sempre NULL. Part of the Stable ABI.

Levanta exc como uma exceção.

PyObject *PyCodec_IgnoreErrors(PyObject *exc)
Retorna valor: Nova referência. Part of the Stable ABI.

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

PyObject *PyCodec_ReplaceErrors(PyObject *exc)
Retorna valor: Nova referência. Part of the Stable ABI.

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

PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
Retorna valor: Nova referência. Part of the Stable ABI.

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

PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
Retorna valor: Nova referência. Part of the Stable ABI.

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

PyObject *PyCodec_NameReplaceErrors(PyObject *exc)
Retorna valor: Nova referência. Part of the Stable ABI since version 3.7.

Substitui os erros de codificação unicode com escapes \N{...}.

Novo na versão 3.5.