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)

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)
Return value: New reference.

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)
Return value: New reference.

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)
Return value: New reference.

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

PyObject* PyCodec_Decoder(const char *encoding)
Return value: New reference.

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

PyObject* PyCodec_IncrementalEncoder(const char *encoding, const char *errors)
Return value: New reference.

Obtém um objeto IncrementalEncoder para o encoding dado.

PyObject* PyCodec_IncrementalDecoder(const char *encoding, const char *errors)
Return value: New reference.

Obtém um objeto IncrementalDecoder para o encoding dado.

PyObject* PyCodec_StreamReader(const char *encoding, PyObject *stream, const char *errors)
Return value: New reference.

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

PyObject* PyCodec_StreamWriter(const char *encoding, PyObject *stream, const char *errors)
Return value: New reference.

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)
Return value: New reference.

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)
Return value: Always NULL.

Levanta exc como uma exceção.

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

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

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

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

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

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

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

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

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

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

Novo na versão 3.5.