Base58
Base58 ist eine menschenorientierte Binär-zu-Text-Kodierung mit 58 Zeichen (ohne die leicht verwechselbaren 0, O, I, l, + und / aus Base64), vor allem bekannt für Kryptowährungsadressen.
Zweck
Sie vermeidet Übertragungsfehler durch verwechselbare Zeichen (0/O, I/l) und hält die Ausgabe per Doppelklick selektierbar (ohne Zeichen, die das Terminal auftrennen würde).
Mechanismus
Der Eingangs-Bytestrom wird als ein einziger großer Integer behandelt, wiederholt modulo 58 reduziert, um jeden Zeichenindex abzuleiten (wie eine Basiskonversion); führende Null-Bytes werden auf führende 1en abgebildet. Da die Abbildung nicht bitausgerichtet ist, ist die kodierte Länge nicht fix und die Dekodierung erfordert Big-Integer-Arithmetik.
Anwendungsfälle
- Kodierung von Bitcoin-/Litecoin-Adressen
- Multibase-Darstellung von IPFS-CIDs
- Monero-Adressen
- Erzeugung von Kurzlinks und Einladungscodes
Beispiele
- Eingabe
Hello WorldOutputJxF12TrwUP45BMdThe Bitcoin Base58 alphabet
Häufige Fehler
- Assuming Base58 works on 6-bit groups (it is actually big-integer modulo arithmetic)
- Use a big-integer, byte-by-byte implementation or a mature library
Verwandte Begriffe
Base64
Base64 bildet beliebige Binärdaten auf 64 druckbare ASCII-Zeichen ab (A-Z, a-z, 0-9, +, /), damit Binärdaten über reine Textkanäle übertragen werden können. GLOSSAR
Base32
Base32 bildet Binärdaten auf ein 32-Zeichen-Alphabet (A-Z und 2-7) ab; die Ausgabe verwendet nur Großbuchstaben und Ziffern, was lautes Vorlesen und manuelle Eingabe erleichtert. GLOSSAR
Multibase
Multibase ist ein selbstbeschreibendes Kodierungspräfix-Schema: Ein Einzelzeichen-Präfix identifiziert die Kodierung der folgenden Daten (z. B. B für Base64, f für hex, z für Base58BTC), vorgeschlagen von IPFS/Multiformats. GLOSSAR