Registo 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 carrear o pacote
encodings
, se isso ainda não tiver sido feito, com o propósito de garantir que ele sempre o primeiro na lista de funções de busca.
-
int
PyCodec_KnownEncoding
(const char *encoding)¶ 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)¶ API de codificação baseada em codec genérico.
objeto é passado por parâmetro para a função de codificação para o enconding dado, usando o método de tratamento de erros definido por errors, errors pode ser NULL para o método padrão definido para o codec ser usado. Lança a
LookupError
se o codificador não puder ser encontrado.
-
PyObject*
PyCodec_Decode
(PyObject *object, const char *encoding, const char *errors)¶ API de decodificação baseada em coded genérico.
objeto é passado através da função de decodificação encontrada para o enconding dado usando o método de tratamento de erros definido por errors. errors pode ser NULL para o método padrão definido para o codec ser usado. Lança a
LookupError
se o codificador não puder ser encontrado.
API de pesquisa de codec¶
Nas funções seguintes, a string encoding pesquisada é convertida para todos os caracteres minuscúlos, o que torna os mecanismos de pesquisa efetivamente case-insentive. Se o codec não puder ser encontrado, uma KeyError
é definida e NULL é retornado.
-
PyObject*
PyCodec_Encoder
(const char *encoding)¶ Chama uma função de codificação para o encoding dado.
-
PyObject*
PyCodec_Decoder
(const char *encoding)¶ Busca uma função de decodificação para o encoding dado.
-
PyObject*
PyCodec_IncrementalEncoder
(const char *encoding, const char *errors)¶ Busca um objeto
IncrementalEncoder
para o encoding dado.
-
PyObject*
PyCodec_IncrementalDecoder
(const char *encoding, const char *errors)¶ Busca um objeto
IncrementalDecoder
para o encoding dado.
-
PyObject*
PyCodec_StreamReader
(const char *encoding, PyObject *stream, const char *errors)¶ Busca uma factory function
StreamReader
para o encoding dado.
-
PyObject*
PyCodec_StreamWriter
(const char *encoding, PyObject *stream, const char *errors)¶ Busca uma função de fábrica
StreamWriter
para o encoding dado.
API de registro de manipuladores de erro de decodificadores Unicode¶
-
int
PyCodec_RegisterError
(const char *name, PyObject *error)¶ Registra a função 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 necessita lançar 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)¶ 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 retorno de chamada de tratamento de erro para strict será retornado.
-
PyObject*
PyCodec_IgnoreErrors
(PyObject *exc)¶ Ignora o erro de unicode, ignorando a entrada que causou o erro.
-
PyObject*
PyCodec_XMLCharRefReplaceErrors
(PyObject *exc)¶ Substitui o erro de unicode por caracteres da referência XML.