Base64 ist ein Kodierungsverfahren, das Binärdaten in druckbare ASCII-Zeichen umwandelt (RFC 4648). Jede 3-Byte-Gruppe wird als 4 druckbare Zeichen dargestellt, was eine Größenzunahme von ca. 33 % bedeutet. Die Unit implementiert Standard-Base64 und die URL-Safe-Variante (ersetzt +/ durch -_), Padding-Verwaltung, HTTP-Basic-Auth-Kodierung (Authorization: Basic …) sowie Data-URL-Erzeugung (data:<mime>;base64,…).
Einsatzbereiche: HTTP-APIs, OAuth-Token, E-Mail-Anhänge (MIME), Einbettung von Binärdaten in Textprotokolle, Browser-kompatible Datenübertragung.
Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne
| Signatur | Beschreibung |
|---|---|
libc_malloc(size: int64): pchar | Allociert Ausgabepuffer über libc-Heap |
| Name | Typ | Wert | Sichtbarkeit |
|---|---|---|---|
ENCODE_STD | int64 | 0 | pub |
ENCODE_URL_SAFE | int64 | 1 | pub |
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
Encode(input: pchar, output: pchar): int64 | pub | Kodiert C-String als Standard-Base64 |
EncodeBytes(input: pchar, input_len: int64, output: pchar): int64 | pub | Kodiert Bytepuffer mit expliziter Länge |
EncodeUrlSafe(input: pchar, output: pchar): int64 | pub | Kodiert als URL-sicheres Base64 |
EncodedLen(input_len: int64): int64 | pub | Berechnet Ausgabelänge nach Kodierung |
buildLookupStd(): pchar | priv | Erstellt Standard-Base64-Lookup-Tabelle |
buildLookupUrl(): pchar | priv | Erstellt URL-Safe-Lookup-Tabelle |
decodeWithLookup(input: pchar, output: pchar, max_output_len: int64, lookup: pchar): int64 | priv | Dekodiert Base64 mit gegebener Lookup-Tabelle |
Decode(input: pchar, output: pchar, max_output_len: int64): int64 | pub | Dekodiert Standard-Base64-String |
DecodeUrlSafe(input: pchar, output: pchar, max_output_len: int64): int64 | pub | Dekodiert URL-sicheres Base64 |
DecodedLen(input_len: int64): int64 | pub | Berechnet Byte-Länge nach Dekodierung |
IsValidChar(c: int64): bool | pub | Prüft ob Zeichen gültiges Base64-Zeichen |
IsValid(input: pchar): bool | pub | Prüft ob String valides Base64 ist |
HasValidPadding(input: pchar): bool | pub | Prüft korrektes Padding am Stringende |
StripPadding(input: pchar, output: pchar): int64 | pub | Entfernt Base64-Padding-Zeichen |
AddPadding(input: pchar, output: pchar): int64 | pub | Ergänzt fehlende Padding-Zeichen |
EncodeBasicAuth(username: pchar, password: pchar, output: pchar): int64 | pub | Kodiert HTTP-Basic-Auth-Header-Wert |
DecodeBasicAuth(auth_header: pchar, username: pchar, password: pchar): int64 | pub | Extrahiert Nutzername und Passwort aus Header |
EncodeDataUrl(mime_type: pchar, data: pchar, output: pchar): int64 | pub | Erzeugt Data-URL mit Base64-Inhalt |