Inhaltsverzeichnis

std.base64

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


Externe Funktionen

Signatur Beschreibung
libc_malloc(size: int64): pchar Allociert Ausgabepuffer über libc-Heap

Konstanten

Name Typ Wert Sichtbarkeit
ENCODE_STD int64 0 pub
ENCODE_URL_SAFE int64 1 pub

Funktionen

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