Base36-Encoder und -Decoder

Wandeln Sie Text, Hex-Bytes oder Dateien in Base36 um, das Alphabet aus zehn Ziffern und 26 Buchstaben, und dekodieren Sie Base36-Strings zurück in Bytes. Eine Ausgabe in Großbuchstaben ist optional.

Läuft vollständig in Ihrem Browser. Es wird nichts hochgeladen.

Anleitung

  1. Wählen Sie „Kodieren“, um Text in Base36 umzuwandeln, oder „Dekodieren“, um Base36 wieder in Text umzuwandeln.
  2. 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).
  3. Aktivieren Sie „Großbuchstaben“, wenn die Ausgabe Großbuchstaben enthalten soll.
  4. 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

Alphabet0-9 a-z
AusgabegrößeEtwa 155 % (Großzahl-Umrechnung)
AuffüllungKeine
StandardKein formaler Standard
Groß-/Kleinschreibung relevantNein

Beispiele

Eingabe (UTF-8)Ausgabe
Hello, World!fg3h7vqw7een6jwwnzmp
Base64.is76f8bz4veeatf7
你好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.

Gibt es eine Größenbeschränkung?
Ja, etwa 20 KB, weil die Großzahl-Umrechnung mit wachsender Eingabe länger dauert. Für Dateien und große Datenmengen eignen sich Base32 oder Base64 besser.
Wie rechne ich eine Zahl in Base36 um?
Verwenden Sie den Zahlensystem-Konverter, der einen Dezimalwert in Base36 und anderen Basen anzeigt. Diese Seite behandelt die Eingabe als Text oder Bytes: Die Eingabe 100 kodiert also die Zeichen 1, 0 und 0, nicht die Zahl Hundert.