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
eller0
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 ettLookupError
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 ettLookupError
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
ellerUnicodeTranslateError
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
?
ellerU+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.