Ripple Base58 Encoder & Decoder
„Hello World“ wird in Ripple Base58 zu JxErpTiA7PhnBMd. Das Alphabet des XRP Ledger beginnt mit r, p, s, h, n und lässt 0, O, I und l weg, damit Ihre Zeichenketten der Reihenfolge klassischer XRP-Adressen folgen. 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
- JxErpTiA7PhnBMd
- Eingabe
- Hello World
- Base58 (Ripple)
- JxErpTiA7PhnBMd
- Alphabetname
- ripple
Ein Ripple-Base58-Encoder wandelt gewöhnlichen UTF-8-Text in eine kompakte Zeichenkette um, die das achtundfünfzig Zeichen umfassende Alphabet nutzt, das das XRP Ledger für klassische Adressen populär gemacht hat, und ein Ripple-Base58-Decoder kehrt diese Abbildung um, sodass Sie den Originaltext zurückerhalten. Das Alphabet behält Ziffern und Buchstaben, streicht jedoch Null, großes O, großes I und kleines L — die vier Glyphen, die Menschen am häufigsten verwechseln — und ordnet die verbleibenden Symbole völlig anders als Bitcoin-Base58 und Flickr-Base58, sodass dieselben Bytes eine andere Zeichenkette erzeugen.
Ein eigenes Alphabet für das XRP Ledger
Ripple Base58 verzichtet auf die Null, das große O, das große I und das kleine l, also auf die vier Zeichen, die Menschen am häufigsten verwechseln. Die übrigen 58 Zeichen stehen aber in einer ganz eigenen Reihenfolge, die das XRP Ledger für klassische Adressen bekannt gemacht hat: Sie beginnt mit r, p, s, h und n und unterscheidet sich sowohl von Bitcoin als auch von Flickr. Deshalb sehen klassische XRP-Adressen anders aus als Bitcoin-Adressen, und dieselben Bytes ergeben eine andere Zeichenkette. Aus „Hello World“ wird hier JxErpTiA7PhnBMd.
Wie kodiert wird und worauf Sie achten sollten
Ihr Text wird in UTF-8-Bytes übersetzt, als eine große Zahl gelesen und immer wieder durch 58 geteilt; jeder Rest wird zu einem Zeichen des Ripple-Alphabets. Führende Null-Bytes erscheinen als führende r, weil r in diesem Alphabet die Ziffer Null ist. Beim Dekodieren läuft alles rückwärts, und die r werden wieder zu Null-Bytes. Weil es kein Füllzeichen gibt, verrät die Länge keine feste Blockgröße; wichtig ist nur, dass beide Seiten dasselbe Alphabet verwenden. Ein Zeichen außerhalb des Alphabets, etwa ein Leerzeichen oder ein Satzzeichen, wird klar abgelehnt.
Was Ripple-Base58 ist und wie es sich von Bitcoin-Base58 unterscheidet
Base58 ist eine Familie von Binär-zu-Text-Kodierungen, die eine beliebige Bytefolge auf ein achtundfünfzig Symbole umfassendes Alphabet abbilden. Das XRP Ledger hat eine konkrete Reihenfolge der verbleibenden Symbole populär gemacht, nachdem Null, großes O, großes I und kleines L gestrichen wurden: Die Zeichenkette beginnt mit r, p, s, h, n und setzt sich mit einer festen Tabelle von achtundfünfzig Zeichen fort, die weder die Bitcoin- noch die Flickr-Reihenfolge ist. Klassische XRP-Adressen sehen daher anders aus als Bitcoin-Adressen, auch wenn beide dieselben vier mehrdeutigen Glyphen vermeiden.
Die Kodierung durchläuft die Eingabe-Bytes als Big-Endian-Ganzzahl zur Basis zweihundertsechsundfünfzig, teilt wiederholt durch achtundfünfzig und mappt jeden Rest auf das Ripple-Alphabet; führende Null-Bytes werden zu führenden r-Zeichen in der Ausgabe, weil r die Null-Ziffer dieses Alphabets ist und nicht die Eins von Bitcoin. Die Dekodierung kehrt die Abbildung um: Jedes Zeichen wird zu einer Ziffer von null bis siebenundfünfzig, die große Ganzzahl wird rekonstruiert und das Byte-Array mit derselben führenden-r-Regel wiederhergestellt.
Weil das Alphabet kein Füllzeichen hat, impliziert die Länge allein keine feste Blockgröße wie bei Base64; Roundtrips funktionieren dennoch, solange beide Seiten das Ripple-Alphabet und die führende-Null-Konvention teilen. Erscheint ein Zeichen außerhalb des Alphabets — Null, O, I, l, Interpunktion oder Leerzeichen —, muss der Decoder laut scheitern.
Anwendungsfälle
Menschenlesbare Kurzcodes mit XRP-Alphabetreihenfolge
Kodieren Sie kurze Labels unter dem Ripple-Alphabet, damit gedruckte Codes die Verwechslung 0/O/I/l vermeiden und der XRP-Zeichenreihenfolge folgen.
Ripple- versus Bitcoin-Base58-Alphabete lehren
Im Unterricht kodiert man Hello World unter beiden Alphabeten, vergleicht die Zeichenketten und erzwingt danach ungültige Zeichen, um strenge Validierung zu zeigen.
Häufige Fragen
Welches Alphabet verwendet dieser Ripple-Base58-Encoder?
Das Ripple/XRP-Alphabet: rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz. Es schließt 0, O, I und l aus, mit anderer Zeichenreihenfolge als Bitcoin-Base58.
Worin unterscheidet sich Ripple-Base58 von Bitcoin-Base58?
Beide streichen 0, O, I und l, aber die verbleibenden achtundfünfzig Zeichen sind anders geordnet. Dieselben Bytes kodieren daher unterschiedliche Zeichenketten, und führende Nullen werden unter Ripple zu r statt unter Bitcoin zu 1.
Validiert dies vollständige XRP-Adressen?
Nein. Es kodiert und dekodiert nur rohen UTF-8-Text unter dem Ripple-Base58-Alphabet. Es prüft weder Kontotyp-Präfixe noch Adressprüfsummen.
Warum beginnen manche Ripple-Base58-Zeichenketten mit dem Buchstaben r?
Weil r im Ripple-Alphabet die Ziffer Null ist. Führende Null-Bytes in Ihren Daten werden zu führenden r, wo Bitcoin Base58 Einsen schreiben würde, und beim Dekodieren werden sie wieder zu Null-Bytes.
Was passiert, wenn ich eine Zeichenkette mit 0, O, I oder l dekodiere?
Diese vier Zeichen gehören nicht zum Ripple-Alphabet, ebenso wenig Satzzeichen oder Leerzeichen. Der Decoder bricht mit einer klaren Meldung ab, statt still einen anderen Text zu erzeugen, sodass Sie den Tippfehler korrigieren können.
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-ripple \
-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-ripple", {
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-ripple",
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-ripple", 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-ripple", 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_ripple",
"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 Ripple-Base58 umzuwandeln, oder decode, um UTF-8 aus einer Ripple-Base58-Nutzlast wiederherzustellen; ungültige Alphabetzeichen liefern einen klaren invalid_input-Fehler statt stiller Korruption.
Wie Sie die API aufrufen und was die Antwort enthält
Der Standardmodus ist encode: UTF-8-Bytes von text werden zu einer Base58-Zeichenkette unter dem Ripple-Alphabet. Mode decode behandelt text als Ripple-Base58-Nutzlast und gibt die wiederhergestellte UTF-8-Zeichenkette zurück. Senden Sie einen JSON-Body mit einem Pflicht-String-Feld text (Aliase input, value und data) und einem optionalen mode, der encode oder decode ist. 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 für encode enthält die Antwort mode, input, result und base58 mit derselben kodierten Zeichenkette, alphabet mit der vollen achtundfünfzig Zeichen langen Ripple-Konstante, alphabet_name auf ripple, input_bytes als UTF-8-Bytezahl, output_length als kodierte Zeichenzahl und eine kurze englische Meldung. Bei Erfolg für decode enthält die Antwort mode, input, result und text mit der dekodierten UTF-8-Zeichenkette, dieselben Alphabetfelder, input_length, output_bytes und eine passende Meldung. Fehlgeschlagene Validierung — fehlendes text, kein String, zu große Eingabe, unbekannter mode, ungültiges Base58-Zeichen oder dekodierte Bytes, die kein gültiges UTF-8 sind — liefert invalid_input und wird nie berechnet. Der Preis ist ein Pauschalbetrag von $0.002 pro erfolgreicher Anfrage mit Einheit item und marginalem Stückpreis null.
Praktische Tipps, Grenzen und Unterschiede zu Bitcoin- und Flickr-Base58
Halten Sie Nutzlasten unter dem veröffentlichten Zeichenlimit; extrem lange Zeichenketten expandieren als große Ganzzahlen und lassen sich besser teilen oder offline verarbeiten. Beim Unterrichten kodieren Sie denselben Satz unter Ripple-, Bitcoin- und Flickr-Alphabeten nebeneinander, damit Lernende sehen, warum die Zeichenketten sich unterscheiden, obwohl alle drei dieselben vier mehrdeutigen Glyphen streichen. Fügen 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 mit Index und ausgeschlossenen Glyphen behandelt. Fehlgeschlagene Aufgaben mit invalid_input verbrauchen kein vorausbezahltes Guthaben, was explorative Skripte günstig hält, wenn Sie ungültige Alphabetzeichen testen.
Integrationsbeispiele
XRP-ähnliche Fixture-Roundtrips in Tests
Erzeugen Sie bekannte Ripple-Base58-Zeichenketten aus Fixture-Text und prüfen Sie in CI, dass die Dekodierung dieselben UTF-8-Bytes ohne Krypto-Abhängigkeit zurückgibt.
Technische Fragen
Was passiert, wenn ich eine Zeichenkette mit 0, O, I oder l dekodiere?
Die API liefert invalid_input, benennt das fehlerhafte Zeichen und seinen Index und erinnert daran, dass Ripple-Base58 diese vier Glyphen ausschließt. Fehlgeschlagene Aufgaben werden nicht berechnet.
Ist der Ripple-Base58-Encoder kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreicher Anfrage; invalid_input-Fehler werden nie berechnet.