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.
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_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
ou0
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 umLookupError
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 umLookupError
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
ouUnicodeTranslateError
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
?
ouU+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.