Zum Inhalt springen
BCBinary Code Translator
Menü

Bytekodierung mit Bitcoin-Alphabet

Base58 Encoder/Decoder

Kodiere UTF-8-Text mit dem Bitcoin-Base58-Alphabet, erhalte jedes führende Nullbyte als 1 und erkenne 0, O, I, l sowie andere ungültige Zeichen.

BigInt-Arithmetik und UTF-8-Verarbeitung laufen ausschließlich im Browser.

Konvertierungsrichtung
0 Zeichen
0 Zeichen

Die Konvertierung läuft lokal in diesem Browser. Die Eingabe wird nicht hochgeladen.

Noch kein Ergebnis.

Was Bitcoin-Base58 macht

Base58 stellt Bytes mit 58 alphanumerischen Zeichen dar und lässt 0, O, I und l weg, um Lesefehler zu reduzieren. Außerdem enthält es keine Satzzeichen, die in Kennungen stören können.

Es arbeitet nicht mit festen Bitgruppen. Die Bytes werden als große Ganzzahl betrachtet und wiederholt durch 58 geteilt. Führende Nullbytes würden dabei verschwinden, daher wird jedes durch eine führende 1 erhalten.

Text wird vor der Kodierung zu UTF-8. Beim Dekodieren müssen die Bytes gültiges UTF-8 bilden, damit diese Textoberfläche sie anzeigen kann.

So verwendest du Base58

  1. Wähle Kodieren für Text oder Dekodieren für eine Base58-Zeichenfolge.
  2. Füge den Wert exakt ein; es gibt kein Padding, keinen Leerraum und keine Gleichsetzung von Groß- und Kleinschreibung.
  3. Korrigiere jedes gemeldete ungültige Zeichen.
  4. Vergleiche den Hello-World-Vektor und ein Unicode-Beispiel mit anderen Implementierungen.
  5. Verarbeite echte Binärdaten in Code über die Bytefunktionen statt sie als Text zu erzwingen.

Base58-Beispiele mit Bitcoin-Alphabet

Die Fälle zeigen Text, Unicode, führende Nullbytes und ausgeschlossene Zeichen. Base58 verwendet kein Padding.

Eingabe Ausgabe Konvertierungsrichtung Hinweis
Hello World JxF12TrwUP45BMd Kodieren Bekannter Textvektor. Bekannter Wert im Bitcoin-Alphabet ohne Padding.
JxF12TrwUP45BMd Hello World Dekodieren Vektor dekodieren. Zuerst werden Bytes gewonnen, danach wird UTF-8 validiert.
Base58 a4E9kYnK Kodieren Kurzer ASCII-Text. Groß- und Kleinbuchstaben besitzen unterschiedliche Werte.
你好 2xuZUfBKa Kodieren Unicode als UTF-8. Zwei chinesische Zeichen werden zu sechs Bytes.
1112  Dekodieren Führende Nullbytes. Jede führende 1 stellt ein Nullbyte wieder her; NUL kann unsichtbar sein.
Kodieren Leerer Wert. Eine leere Bytefolge hat eine leere Base58-Darstellung; unzulässige Zeichen werden durch strikte Validierung und Tests abgedeckt.

Alphabet und führende Nullbytes

Das Werkzeug fügt weder Versionsbyte noch Prüfsumme hinzu. Der Decoder akzeptiert nur das genaue Bitcoin-Alphabet.

Führende 1 sind Daten: Jede fügt vor der dekodierten Ganzzahl ein Nullbyte ein.

  • 0, O, I und l sind ungültig.
  • Groß- und Kleinschreibung ist bedeutsam.
  • Es gibt kein =-Padding.
  • Jedes führende Nullbyte wird zu 1.
  • Die Textoberfläche verlangt gültiges UTF-8.

Wie Base58 Bytes erhält

Der Encoder zählt führende Nullen, baut per Multiplikation mit 256 einen BigInt auf und bildet Reste bei Division durch 58. Anschließend werden die führenden 1 ergänzt.

Der Decoder multipliziert mit 58, addiert jede Ziffer, zerlegt die Zahl wieder in Basis-256-Bytes und stellt führende Nullbytes wieder her.

BigInt verhindert Rundungsfehler. Reines Base58 hat jedoch keine Fehlererkennung; Base58Check ergänzt Protokollfelder und Prüfsumme.

Typische Base58-Einsätze

Base58 eignet sich für menschenorientierte Binärkennungen, nicht als Sicherheitsmechanismus.

Einsatz Beschreibung
Kryptowährungskennungen Bitcoin verwendet meist Base58Check auf Basis dieses Alphabets.
Inhaltskennungen Manche verteilten Systeme stellen Hashes als Base58 dar.
Einladungs- und Freigabecodes Das Alphabet reduziert optische Fehler; eine Prüfsumme bleibt sinnvoll.
Öffentliche IDs Zufallsbytes werden ohne reservierte Satzzeichen kompakter.
Bibliothekstests Führende Nullen decken Implementierungsfehler auf.

Wichtige Base58-Fehler

Eine Änderung der Schreibweise oder der Verlust einer führenden 1 verändert den Wert, auch wenn die restliche Zeichenfolge syntaktisch gültig bleibt.

Gültiges Base58 beweist nicht, dass der Wert eine gültige Adresse, ein Schlüssel oder eine protokollkonforme Nutzlast ist.

  • Ersetze ähnlich aussehende Zeichen nicht.
  • Entferne Zeilenumbrüche nur, wenn das Quellformat dies erlaubt.
  • Das Löschen einer 1 entfernt ein Nullbyte.
  • Eine Änderung der Schreibweise ändert die Zahl.
  • Base58Check braucht eigene Validierung.

Base58, Base58Check und Base64

Base58 ist nur eine Byte-Darstellung. Base58Check fügt Präfix, Prüfsumme und Protokollregeln hinzu.

Base64 ist kompakter und blockbasiert, verwendet aber Satzzeichen. Base32 besitzt ein kleineres Alphabet und definierte Padding-Regeln.

Format Beschreibung
Base58Check Ergänzt Prüfsumme und Struktur; nicht gleichbedeutend mit reinem Base58.
Base64 Kürzer, enthält jedoch +, / und eventuell =.
Base32 Verwendet 32 Symbole und RFC-definiertes Padding.

Häufige Fragen zu Base58

Welches Alphabet wird verwendet?

Das Bitcoin-Alphabet 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.

Warum fehlen 0, O, I und l?

Sie wurden entfernt, um Lese- und Tippfehler zu reduzieren.

Wie bleiben führende Nullbytes erhalten?

Jedes anfängliche 0x00 wird zu einer führenden 1.

Prüft dies Bitcoin-Adressen?

Nein. Adressen verwenden üblicherweise Base58Check und weitere Regeln.

Warum kann gültiges Base58 beim Textdekodieren scheitern?

Die gewonnenen Bytes können kein gültiges UTF-8 bilden.

Verschlüsselt Base58 Daten?

Nein. Die Kodierung ist vollständig reversibel.

Verwandte Tools

Alle Tools anzeigen

Cookie-Einstellungen

Verwalte deine Cookie-Einstellungen. Notwendige Cookies können nicht deaktiviert werden.

Notwendig

Erforderlich

Erforderlich für Sprachauswahl, Datenschutzeinstellungen und grundlegende Website-Funktionen.

Cookies: NEXT_LOCALE

Analyse

Optionale Analyse-Cookies helfen uns, den Traffic zu verstehen und die Website zu verbessern.

Cookies: _ga, _gid, _gat, _clck, _clsk

Werbung

Optionale Werbe-Cookies können genutzt werden, um relevante Anzeigen zu zeigen und deren Leistung zu messen.

Cookies: __gads, _gcl_au, IDE