123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- cdef extern from "Python.h":
- ###########################################################################
- # Codec registry and support functions
- ###########################################################################
- int PyCodec_Register(object search_function)
- # Register a new codec search function.
- # 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_KnownEncoding(const char *encoding)
- # Return 1 or 0 depending on whether there is a registered codec for the
- # given encoding. This function always succeeds.
- object PyCodec_Encode(object o, const char *encoding, const char *errors)
- # Return value: New reference.
- # Generic codec based encoding API.
- # o 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.
- object PyCodec_Decode(object o, const char *encoding, const char *errors)
- # Return value: New reference.
- # Generic codec based decoding API.
- # o 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.
- # Codec lookup API
- # 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.
- object PyCodec_Encoder(const char *encoding)
- # Return value: New reference.
- # Get an encoder function for the given encoding.
- object PyCodec_Decoder(const char *encoding)
- # Return value: New reference.
- # Get a decoder function for the given encoding.
- object PyCodec_IncrementalEncoder(const char *encoding, const char *errors)
- # Return value: New reference.
- # Get an IncrementalEncoder object for the given encoding.
- object PyCodec_IncrementalDecoder(const char *encoding, const char *errors)
- # Return value: New reference.
- # Get an IncrementalDecoder object for the given encoding.
- object PyCodec_StreamReader(const char *encoding, object stream, const char *errors)
- # Return value: New reference.
- # Get a StreamReader factory function for the given encoding.
- object PyCodec_StreamWriter(const char *encoding, object stream, const char *errors)
- # Return value: New reference.
- # Get a StreamWriter factory function for the given encoding.
- # Registry API for Unicode encoding error handlers
- int PyCodec_RegisterError(const char *name, object error) except? -1
- # Register the error handling callback function error under the given
- # name. This callback function will be called by a codec when it
- # encounters unencodable characters/undecodable bytes and name is
- # specified as the error parameter in the call to the encode/decode
- # function.
- # The callback gets a single argument, an instance of
- # UnicodeEncodeError, UnicodeDecodeError or UnicodeTranslateError that
- # holds information about the problematic sequence of characters or bytes
- # and their offset in the original string (see Unicode Exception Objects
- # for functions to extract this information). The callback must either
- # raise the given exception, or return a two-item tuple containing the
- # replacement for the problematic sequence, and an integer giving the
- # offset in the original string at which encoding/decoding should be
- # resumed.
- # Return 0 on success, -1 on error.
- object PyCodec_LookupError(const char *name)
- # Return value: New reference.
- # 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.
- object PyCodec_StrictErrors(object exc)
- # Return value: Always NULL.
- # Raise exc as an exception.
- object PyCodec_IgnoreErrors(object exc)
- # Return value: New reference.
- # Ignore the unicode error, skipping the faulty input.
- object PyCodec_ReplaceErrors(object exc)
- # Return value: New reference.
- # Replace the unicode encode error with "?" or "U+FFFD".
- object PyCodec_XMLCharRefReplaceErrors(object exc)
- # Return value: New reference.
- # Replace the unicode encode error with XML character references.
- object PyCodec_BackslashReplaceErrors(object exc)
- # Return value: New reference.
- # Replace the unicode encode error with backslash escapes ("\x", "\u"
- # and "\U").
- object PyCodec_NameReplaceErrors(object exc)
- # Return value: New reference.
- # Replace the unicode encode error with "\N{...}" escapes.
- # New in version 3.5.
|