Anleitung
- Wählen Sie „Kodieren“, um Text in Base36 umzuwandeln, oder „Dekodieren“, um Base36 wieder in Text umzuwandeln.
- Geben Sie die Eingabe ein, fügen Sie sie ein oder klicken Sie auf „Datei öffnen“ für eine kleine Datei (bis etwa 20 KB).
- Aktivieren Sie „Großbuchstaben“, wenn die Ausgabe Großbuchstaben enthalten soll.
- Kopieren Sie das Ergebnis oder laden Sie es als Datei herunter.
Was ist Base36?
Base36 schreibt Daten mit den zehn Ziffern und den 26 Buchstaben des lateinischen Alphabets, 0-9 gefolgt von a-z. Es ist das größte Alphabet, das sich aus Ziffern und Buchstaben bilden lässt, wenn man Groß- und Kleinschreibung außer Acht lässt. Base36-Strings überstehen daher Systeme, die die Schreibweise ändern oder ignorieren. Jedes Zeichen trägt etwa 5,17 Bit, die Ausgabe ist also rund 1,55-mal so groß wie die Eingabe und damit etwas kürzer als bei Base32.
Da 36 keine Zweierpotenz ist, lassen sich die Bytes nicht einfach in Bitgruppen zerlegen. Stattdessen liest das Tool die gesamte Eingabe als eine große vorzeichenlose Zahl und rechnet sie zur Basis 36 um, mit demselben Verfahren, das auch Base58 verwendet. Eine Zahl würde ihre führenden Nullbytes verlieren, daher wird jedes davon als führende 0 geschrieben und beim Dekodieren wiederhergestellt. Diese Arithmetik wird bei großen Eingaben langsam, deshalb akzeptiert das Tool bis etwa 20 KB.
Wo Base36 verwendet wird
- Kurze IDs. URL-Kürzer, Bestellnummern und Ticketcodes stellen eine numerische Datenbank-ID oft zur Basis 36 dar. Reddit etwa verwendet die Basis 36 für die IDs von Beiträgen und Kommentaren.
- Umgebungen ohne Unterscheidung der Schreibweise. DNS-Namen und manche Dateisysteme ignorieren Groß- und Kleinschreibung. Aus diesem Grund verwendet IPFS für manche Kennungen in den Adressen von Subdomain-Gateways eine Base36-Form.
- Zahlen im Programmcode. Die Basis 36 ist die höchste Basis, die die meisten Programmiersprachen bei der Umwandlung von Ganzzahlen von Haus aus unterstützen.
Wenn die Groß- und Kleinschreibung erhalten bleibt und Sie den kürzesten alphanumerischen String möchten, ist Base62 kompakter.
Base36-Zahlen im Programmcode
Diese Seite kodiert Bytes. Um eine Ganzzahl umzurechnen, verwenden Sie die eingebauten Funktionen Ihrer Programmiersprache oder den Zahlensystem-Konverter:
// JavaScript
(1000000).toString(36) // 'lfls'
parseInt('lfls', 36) // 1000000
123456789012345678901234567890n.toString(36) // BigInt für große Werte
# Python
int('lfls', 36) # 1000000
# für die umgekehrte Richtung gibt es keine eingebaute Funktion
parseInt verliert oberhalb von Number.MAX_SAFE_INTEGER an Genauigkeit; für größere Werte sammeln Sie die Ziffern selbst in einem BigInt.
Spezifikation
| Alphabet | 0-9 a-z |
|---|---|
| Ausgabegröße | Etwa 155 % (Großzahl-Umrechnung) |
| Auffüllung | Keine |
| Standard | Kein formaler Standard |
| Groß-/Kleinschreibung relevant | Nein |
Beispiele
| Eingabe (UTF-8) | Ausgabe |
|---|---|
Hello, World! | fg3h7vqw7een6jwwnzmp |
Base64.is | 76f8bz4veeatf7 |
你好 | 2h5exfqm65 |
Häufig gestellte Fragen
Unterscheidet Base36 zwischen Groß- und Kleinschreibung?
Nein. Die Ausgabe erfolgt standardmäßig in Kleinbuchstaben, mit der Option „Großbuchstaben“ wechseln Sie zu Großbuchstaben. Der Decoder akzeptiert beide Schreibweisen.
Warum liefert ein anderes Tool ein anderes Base36-Ergebnis?
Für Base36 gibt es keinen formalen Standard. Manche Tools kodieren eine Zahl, andere Bytes, und sie behandeln führende Nullbytes unterschiedlich. Dieses Tool kodiert die Eingabebytes als eine große Zahl und schreibt jedes führende Nullbyte als 0.