UTILS.
100 % im Browser
🔢

Base62 kodieren & dekodieren

Wandle Ganzzahlen oder Byte-Strings in und aus kompaktem, URL-sicherem Base62 (0-9A-Za-z) um – mit BigInt-Unterstützung und GMP-Alphabetvariante, alles im Browser.

— Ausgabe erscheint hier —

Über dieses Tool

Das Base62 Tool kodiert Zahlen und Byte-Strings in das kompakte 62-Symbol-Alphabet 0-9A-Za-z und dekodiert sie zurück. Base62 ist beliebt für kurze IDs, URL-Slugs und gekürzte Links, weil es URL-sicher bleibt, ohne die Zeichen +, / oder =, die Base64 verwendet. Die gesamte Umwandlung läuft lokal in deinem Browser mit JavaScript BigInt, sodass beliebig große Werte exakt sind und nichts hochgeladen wird.

Der Ganzzahl-Modus behandelt die Eingabe als beliebig genaue Ganzzahl (dezimal oder mit 0x-Präfix als Hex): Beim Kodieren wird wiederholt durch 62 geteilt und alphabet[Rest] vorangestellt, beim Dekodieren wird Σ alphabet.indexOf(ch)·62^position berechnet. Der Byte-Modus behandelt die Eingabebytes (UTF-8-Text oder Hex) als eine einzige Big-Endian-Bignum und wendet dieselbe Base-62-Umwandlung an, bewahrt aber auch führende Null-Bytes im Bitcoin-Base58-Stil: Jedes führende 0x00-Byte wird zu einem führenden '0'-Zeichen, sodass Hin- und Rückumwandlungen verlustfrei sind.

Das Standardalphabet ordnet Ziffern, dann Großbuchstaben, dann Kleinbuchstaben (0-9A-Za-z). Einige Bibliotheken – vor allem auf GMP basierende – ordnen Ziffern, Kleinbuchstaben, dann Großbuchstaben (0-9a-zA-Z), was für denselben Wert eine andere Ausgabe erzeugt; der Alphabet-Umschalter lässt dich das jeweils verwendete System abgleichen. Wähle die Richtung, den Ganzzahl- oder Byte-Modus, das Eingabeformat für Bytes und die Alphabetvariante.

Häufig gestellte Fragen

Was ist der Unterschied zwischen Ganzzahl- und Byte-Modus?
Der Ganzzahl-Modus wandelt eine einzelne beliebig genaue Zahl (dezimal oder 0x-Hex) in einen Base62-String und zurück in eine dezimale Ganzzahl. Der Byte-Modus wandelt eine Byte-Folge (aus UTF-8-Text oder Hex) als Big-Endian-Bignum um und bewahrt führende Null-Bytes als führende Alphabet-Null-Zeichen, sodass Binärdaten exakt hin- und zurückkonvertiert werden.
Warum gibt es zwei Alphabete?
Das Standardalphabet ist 0-9A-Za-z (Groß- vor Kleinbuchstaben). GMP-basierte Bibliotheken verwenden 0-9a-zA-Z (Klein- vor Großbuchstaben). Derselbe Wert wird unter jedem anders kodiert, sodass der Umschalter dir erlaubt, mit der Reihenfolge zu interagieren, die deine anderen Tools erwarten.
Wie große Zahlen kann es verarbeiten?
Jede Größe. Das Tool nutzt JavaScript BigInt, es gibt also keine 2^53-Genauigkeitsgrenze – du kannst Ganzzahlen und Byte-Strings beliebiger Länge exakt kodieren und dekodieren, was für Hashes, UUIDs und lange Bezeichner unerlässlich ist.
Wie werden führende Nullen im Byte-Modus behandelt?
Jedes führende 0x00-Byte wird als ein führendes Alphabet-Null-Zeichen kodiert (wie die führende '1' bei Base58). Beim Dekodieren stellt jedes führende Alphabet-Null-Zeichen ein 0x00-Byte wieder her, sodass Kodieren und anschließendes Dekodieren die exakte ursprüngliche Byte-Folge zurückgibt.

Weitere Tools