Kodekregister och stödfunktioner

int PyCodec_Register(PyObject *search_function)
En del av Stabil ABI.

Registrera en ny sökfunktion för codec.

Som en bieffekt försöker den här funktionen ladda paketet encodings, om det inte redan är gjort, för att se till att det alltid står först i listan över sökfunktioner.

int PyCodec_Unregister(PyObject *search_function)
En del av Stabil ABI sedan version 3.10.

Avregistrera en codec-sökfunktion och rensa registrets cache. Om sökfunktionen inte är registrerad gör du ingenting. Returnera 0 vid framgång. Utlös ett undantag och returnera -1 vid fel.

Tillagd i version 3.10.

int PyCodec_KnownEncoding(const char *encoding)
En del av Stabil ABI.

Returnerar 1 eller 0 beroende på om det finns en registrerad codec för den givna kodningen. Denna funktion lyckas alltid.

PyObject *PyCodec_Encode(PyObject *object, const char *encoding, const char *errors)
Returnera värde: Ny referens. En del av Stabil ABI.

Generiskt codec-baserat API för kodning.

objektet skickas genom den kodningsfunktion som hittats för den angivna kodningen med hjälp av den felhanteringsmetod som definieras av errors. errors kan vara NULL för att använda den standardmetod som definierats för codec. Utlöser ett LookupError om ingen kodare kan hittas.

PyObject *PyCodec_Decode(PyObject *object, const char *encoding, const char *errors)
Returnera värde: Ny referens. En del av Stabil ABI.

Generiskt codec-baserat API för avkodning.

objektet skickas genom den avkodningsfunktion som hittats för den angivna kodningen med hjälp av den felhanteringsmetod som definieras av errors. errors kan vara NULL för att använda den standardmetod som definierats för codec. Utlöser ett LookupError om ingen kodare kan hittas.

API för uppslagning av codec

I följande funktioner söks strängen encoding upp konverterad till alla gemener, vilket gör att kodningar som söks upp genom denna mekanism i praktiken är skiftlägesokänsliga. Om ingen codec hittas, sätts ett KeyError och NULL returneras.

PyObject *PyCodec_Encoder(const char *encoding)
Returnera värde: Ny referens. En del av Stabil ABI.

Hämta en kodningsfunktion för den angivna kodningen.

PyObject *PyCodec_Decoder(const char *encoding)
Returnera värde: Ny referens. En del av Stabil ABI.

Hämta en avkodningsfunktion för den angivna kodningen.

PyObject *PyCodec_IncrementalEncoder(const char *encoding, const char *errors)
Returnera värde: Ny referens. En del av Stabil ABI.

Hämta ett IncrementalEncoder-objekt för den angivna kodningen.

PyObject *PyCodec_IncrementalDecoder(const char *encoding, const char *errors)
Returnera värde: Ny referens. En del av Stabil ABI.

Hämta ett IncrementalDecoder-objekt för den angivna kodningen.

PyObject *PyCodec_StreamReader(const char *encoding, PyObject *stream, const char *errors)
Returnera värde: Ny referens. En del av Stabil ABI.

Hämta en StreamReader fabriksfunktion för den angivna kodningen.

PyObject *PyCodec_StreamWriter(const char *encoding, PyObject *stream, const char *errors)
Returnera värde: Ny referens. En del av Stabil ABI.

Hämta en StreamWriter fabriksfunktion för den angivna kodningen.

Registry API för felhanterare för Unicode-kodning

int PyCodec_RegisterError(const char *name, PyObject *error)
En del av Stabil ABI.

Registrera återanropsfunktionen för felhantering error under det angivna namnet. Denna callback-funktion kommer att anropas av en codec när den stöter på okodbara tecken/okodbara bytes och name anges som felparameter i anropet till avkodnings/kodningsfunktionen.

Anropet får ett enda argument, en instans av UnicodeEncodeError, UnicodeDecodeError eller UnicodeTranslateError som innehåller information om den problematiska sekvensen av tecken eller byte och deras offset i originalsträngen (se Objekt för Unicode-undantag för funktioner för att extrahera denna information). Återkallelsen måste antingen ge upphov till det angivna undantaget eller returnera en tupel med två punkter som innehåller ersättningen för den problematiska sekvensen och ett heltal som anger den offset i originalsträngen där kodningen/avkodningen ska återupptas.

Returnerar 0 vid framgång, -1 vid fel.

PyObject *PyCodec_LookupError(const char *name)
Returnera värde: Ny referens. En del av Stabil ABI.

Letar upp den felhanteringsfunktion som är registrerad under namn. Som ett specialfall kan NULL skickas, i vilket fall felhanteringsfunktionen för ”strict” kommer att returneras.

PyObject *PyCodec_StrictErrors(PyObject *exc)
Returvärde: Alltid NULL. En del av Stabil ABI.

Uppmärksamma exc som ett undantag.

PyObject *PyCodec_IgnoreErrors(PyObject *exc)
Returnera värde: Ny referens. En del av Stabil ABI.

Ignorera unicode-felet och hoppa över den felaktiga inmatningen.

PyObject *PyCodec_ReplaceErrors(PyObject *exc)
Returnera värde: Ny referens. En del av Stabil ABI.

Ersätt felet i Unicode-kodningen med ? eller U+FFFD.

PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
Returnera värde: Ny referens. En del av Stabil ABI.

Ersätt felet i Unicode-kodningen med XML-teckenreferenser.

PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
Returnera värde: Ny referens. En del av Stabil ABI.

Ersätt unicode-kodningsfelet med backslash-escapes (\x, \u och \U).

PyObject *PyCodec_NameReplaceErrors(PyObject *exc)
Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.

Ersätt unicode-kodningsfelet med \N{...} -escapes.

Tillagd i version 3.5.