Base58 Encoder & Decoder
„Hello World“ wird in Base58 zu JxF12TrwUP45BMd: Das Bitcoin-Alphabet hat 58 Zeichen ohne Null, großes O, großes I und kleines l, damit Codes auf Papier und Bildschirm lesbar bleiben. Dekodieren geht ebenso. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- Hello World
- Berechnungsmodus
- Encode
- Ergebnis
- JxF12TrwUP45BMd
- Eingabe
- Hello World
- Base58-Ergebnis
- JxF12TrwUP45BMd
- Alphabetname
- bitcoin
Ein Base58-Encoder wandelt gewöhnlichen UTF-8-Text in eine kompakte Zeichenkette aus nur achtundfünfzig eindeutigen Zeichen um, und ein Base58-Decoder kehrt diese Abbildung um, sodass Sie den ursprünglichen Text zurückerhalten. Dieses Tool verwendet das Bitcoin-Alphabet: Ziffern und Buchstaben ohne null, großes O, großes I und kleines L – die vier Zeichen, die Menschen beim Lesen handschriftlicher Notizen, QR-Ausdrucke oder Wallet-Adressen am häufigsten verwechseln. Entwickler prüfen adressähnliche Zeichenketten, Lehrkräfte demonstrieren alternative Zahlenbasen, und Skripte benötigen deterministische Round-Trips ohne Installation einer Krypto-Bibliothek.
Warum Base58 genau diese Zeichen verwendet
Base58 übersetzt beliebige Bytes in 58 Zeichen, die man auf Papier, auf einem Bildschirmfoto oder am Telefon kaum verwechseln kann. Gegenüber Base64 fehlen die Null, das große O, das große I und das kleine l, außerdem gibt es kein Füllzeichen am Ende. Diese Seite nutzt die Reihenfolge des Bitcoin-Alphabets: zuerst die Ziffern eins bis neun, dann A bis Z ohne I und O, dann a bis z ohne l. Dieselbe Reihenfolge verwenden Wallets und viele Blockchain-Explorer, deshalb stimmen Ihre Ergebnisse mit dem überein, was Sie dort sehen. Aus „Hello World“ wird so JxF12TrwUP45BMd.
Wie die Umwandlung abläuft und wo Fehler entstehen
Ihr Text wird zuerst in UTF-8-Bytes übersetzt. Diese Bytes werden wie eine einzige große Zahl behandelt, die immer wieder durch 58 geteilt wird; jeder Rest wird zu einem Zeichen des Alphabets. Beim Dekodieren läuft alles rückwärts. Typische Fehler sind ein mitkopiertes Leerzeichen oder Satzzeichen, eine Null oder ein großes O, die beide nicht im Alphabet stehen, und die Annahme, hier werde eine vollständige Bitcoin-Adresse samt Prüfsumme kontrolliert. Das geschieht nicht: Geprüft wird nur, ob jedes Zeichen zum Alphabet gehört.
Was Bitcoin Base58 ist und warum diese vier Zeichen fehlen
Base58 ist eine Binär-zu-Text-Kodierung, die eine beliebige Bytefolge auf ein Alphabet aus achtundfünfzig Symbolen abbildet. Anders als Base64 lässt es Zeichen weg, die in Druck und Sprache schwer auseinanderzuhalten sind: die Ziffer null, den Großbuchstaben O, den Großbuchstaben I und den Kleinbuchstaben L. Das Bitcoin-Projekt machte eine konkrete Reihenfolge der verbleibenden Symbole populär – eins bis neun, dann A–Z ohne I und O, dann a–z ohne l –, und genau diese Reihenfolge verwenden Wallets, viele Blockchain-Explorer und diese Fähigkeit.
Die Kodierung betrachtet die Eingabebytes als Big-Endian-Integer zur Basis zweihundertsechsundfünfzig, teilt wiederholt durch achtundfünfzig und bildet jeden Rest auf das Alphabet ab; führende Nullbytes werden zu führenden Einsen in der Ausgabe, derselben Konvention, der Bitcoin-Adressen folgen. Das Dekodieren kehrt die Abbildung um: Jedes Zeichen wird zu einer Ziffer null bis siebenundfünfzig, der große Integer wird rekonstruiert und das Byte-Array mit derselben Führende-Eins-Regel zurückgewonnen.
Da das Alphabet kein Füllzeichen besitzt, impliziert die Länge allein keine feste Blockgröße wie bei Base64; Round-Trips funktionieren dennoch, solange beide Seiten sich über Alphabet und Führende-Null-Konvention einig sind. Erscheint ein Zeichen außerhalb des Alphabets – null, O, I, l, Satzzeichen oder Leerraum –, muss der Decoder laut fehlschlagen. Ein stilles Ersetzen würde eine andere Nutzlast erfinden und ist für Wallets, Prüfsummen und automatisierte Tests schlimmer als ein harter Fehler.
Diese Landingpage richtet sich an alle, die online nach einem Base58-Encoder, Base58-Decoder oder Bitcoin-Alphabet-Konverter suchen; sie ist weder Base64 noch Base32 und auch kein vollständiger Bitcoin-Adress-Validator mit Versionsbytes und Prüfsummen.
Praktische Tipps, Grenzen und der Unterschied zu Base64
Round-Trip-Prüfungen sind der schnellste Rauchtest: Kodieren Sie einen bekannten Satz wie Hello World, bestätigen Sie das klassische Ergebnis JxF12TrwUP45BMd, dekodieren Sie dann diesen String und bestätigen Sie, dass Sie den ursprünglichen Satz Byte für Byte zurückerhalten. Halten Sie Nutzlasten unter dem veröffentlichten Zeichenlimit; extrem lange Zeichenketten expandieren als große Integer und werden besser aufgeteilt oder offline verarbeitet. Dieses Tool ist kein Bitcoin-Adress-Parser: Es entfernt kein Versionspräfix, berechnet keine Double-SHA256-Prüfsumme und unterscheidet nicht zwischen Mainnet und Testnet.
Es ist auch weder Base64 noch Base64URL – jene Alphabete enthalten Plus, Schrägstrich und Gleichheits-Padding und behalten null und großes O. Bevorzugen Sie Base58, wenn Sicherheit bei menschlicher Übertragung wichtiger ist als Dichte; bevorzugen Sie Base64, wenn Sie maximale Bits pro Zeichen und rein maschinellen Transport benötigen. Zeigen Sie im Unterricht denselben Satz unter Base58 und Base64 nebeneinander kodiert, damit Lernende sehen, warum das Bitcoin-Alphabet anders aussieht und warum Copy-Paste-Fehler sinken, wenn die vier mehrdeutigen Zeichen fehlen.
Anwendungsfälle
Menschensichere Kurzcodes für Druck und QR
Kodieren Sie kurze Labels so, dass gedruckte Codes die 0/O/I/l-Verwechslung vermeiden, wenn Mitarbeitende sie vom Papier oder per Handykamera abtippen.
Alternative Zahlenbasen und Bitcoin-Alphabet lehren
Unterricht und Workshops kodieren Hello World, untersuchen das Alphabet und erzwingen dann ungültige Zeichen, um die strenge Validierung zu zeigen.
Häufige Fragen
Welches Alphabet verwendet dieser Base58-Encoder?
Das Bitcoin-Alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Es schließt 0, O, I und l aus.
Ist Base58 dasselbe wie Base64?
Nein. Base64 verwendet vierundsechzig Symbole einschließlich +, / und Padding = und behält 0 und O. Base58 verzichtet auf mehrdeutige Zeichen und ist in Bitcoin-artigen Strings verbreitet.
Validiert dies vollständige Bitcoin-Adressen?
Nein. Es kodiert und dekodiert nur rohen UTF-8-Text unter dem Bitcoin-Base58-Alphabet. Versionsbytes und Double-SHA256-Prüfsummen werden nicht geprüft.
Warum wird meine Base58-Zeichenkette beim Dekodieren abgelehnt?
Weil sie ein Zeichen außerhalb des Bitcoin-Alphabets enthält, etwa eine Null, ein großes O oder I, ein kleines l, ein Satzzeichen oder ein Leerzeichen. Der Decoder bricht mit einer klaren Meldung ab, statt still einen anderen Text zu erzeugen.
Warum beginnen manche Base58-Zeichenketten mit einer 1?
Führende Null-Bytes in den Daten werden zu führenden Einsen im Ergebnis, genau wie bei Bitcoin-Adressen. Beim Dekodieren werden diese Einsen wieder zu Null-Bytes, sodass Sie exakt die ursprünglichen Bytes zurückerhalten.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/base58 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/enc/base58", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base58",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base58", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base58", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "Hello World"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base58",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_chars | 100000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Wählen Sie encode, um Klartext in Base58 zu wandeln, oder decode, um UTF-8 aus einer Base58-Nutzlast wiederherzustellen; ungültige Alphabet-Zeichen liefern einen klaren invalid_input-Fehler statt stiller Beschädigung.
Wie Sie die API aufrufen und was die Antwort enthält
Der vorgegebene Modus ist encode: Die UTF-8-Bytes von text werden zu einem Base58-String unter dem Bitcoin-Alphabet. Der Modus decode behandelt text als Base58-Nutzlast und gibt die wiederhergestellte UTF-8-Zeichenkette zurück. Senden Sie einen JSON-Body mit einem erforderlichen String-Feld text (Aliase input, value und data) und einem optionalen mode mit dem Wert encode oder decode. Die Eingabelänge ist auf einhunderttausend Zeichen begrenzt, damit eine einzelne Anfrage den Worker-Speicher bei pathologischer Big-Integer-Expansion nicht erschöpft. Bei Erfolg enthält die Encode-Antwort mode, input, result und base58 mit demselben kodierten String, alphabet mit der vollständigen Konstante aus achtundfünfzig Zeichen, alphabet_name mit dem Wert bitcoin, input_bytes als UTF-8-Byteanzahl, output_length als Anzahl der kodierten Zeichen sowie eine kurze englische Meldung. Bei Erfolg enthält die Decode-Antwort mode, input, result und text mit dem dekodierten UTF-8-String, dieselben Alphabet-Felder, input_length, output_bytes und eine passende Meldung. Fehlgeschlagene Validierung – fehlender text, Nicht-String-text, übergroße Eingabe, unbekannter mode, ungültiges Base58-Zeichen oder dekodierte Bytes, die kein gültiges UTF-8 sind – liefert invalid_input und wird niemals berechnet. Der Preis beträgt pauschal $0.002 pro erfolgreicher Anfrage mit der Einheit item und einem Grenzstückpreis von null.
Praktische Tipps, Grenzen und der Unterschied zu Base64
Bauen Sie absichtlich ein verbotenes Zeichen – Ziffer null, großes O, großes I oder kleines L – in eine Decode-Anfrage ein, um zu prüfen, dass Ihr Client invalid_input und die Fehlermeldung verarbeitet, die den Index und die ausgeschlossenen Zeichen nennt. Fehlgeschlagene Aufgaben, die invalid_input zurückgeben, verbrauchen kein Prepaid-Guthaben, was explorative Skripte günstig hält, wenn Sie ungültige Alphabet-Zeichen fuzzen.
Integrationsbeispiele
Wallet- und Fixture-Round-Trips in Tests
Erzeugen Sie bekannte Base58-Strings aus Fixture-Text und prüfen Sie in der CI ohne Krypto-Abhängigkeit, dass decode dieselben UTF-8-Bytes wiederherstellt.
Technische Fragen
Was passiert, wenn ich einen String mit 0, O, I oder l dekodiere?
Die API liefert invalid_input, nennt das ungültige Zeichen und seinen Index und erinnert daran, dass Bitcoin Base58 diese vier Zeichen ausschließt. Fehlgeschlagene Aufgaben werden nicht berechnet.
Ist der Base58-Encoder kostenlos?
Das Browser-Tool ist kostenlos und läuft lokal. API-Aufrufe nutzen Prepaid-KIT-Guthaben zu $0.002 pro erfolgreicher Anfrage; invalid_input-Fehler werden niemals berechnet.