Codificatore e decodificatore Base58 Ripple
«Hello World» diventa JxErpTiA7PhnBMd in Base58 Ripple, l'alfabeto dell'XRP Ledger che inizia con r, p, s, h, n ed esclude 0, O, I e l, così le sue stringhe seguono lo stesso ordine degli indirizzi XRP classici. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello World
- Modalità di calcolo
- Encode
- Risultato
- JxErpTiA7PhnBMd
- Input
- Hello World
- Base58 (Ripple)
- JxErpTiA7PhnBMd
- Nome dell'alfabeto
- ripple
Un codificatore Base58 Ripple trasforma testo UTF-8 ordinario in una stringa compatta che usa l'alfabeto di cinquantotto caratteri reso popolare dal XRP Ledger per gli indirizzi classici, e un decodificatore Base58 Ripple inverte tale mappatura affinché Lei recuperi il testo originale. L'alfabeto conserva cifre e lettere ma esclude lo zero, la O maiuscola, la I maiuscola e la L minuscola — i quattro glifi che le persone confondono di più — e ordina quei simboli in modo del tutto diverso dal Base58 di Bitcoin e da quello di Flickr, cosicché gli stessi byte producono una stringa diversa.
Cos'è il Base58 Ripple e come differisce dal Base58 di Bitcoin
Base58 è una famiglia di codifiche da binario a testo che proiettano una sequenza arbitraria di byte su un alfabeto di cinquantotto simboli. Il XRP Ledger ha reso popolare un ordine concreto dei simboli rimanenti dopo l'esclusione di zero, O maiuscola, I maiuscola e L minuscola: la stringa inizia con r, p, s, h, n e prosegue con una tabella fissa di cinquantotto caratteri che non è l'ordine Bitcoin né quello Flickr.
Gli indirizzi XRP classici appaiono quindi diversi dagli indirizzi Bitcoin anche quando entrambi evitano gli stessi quattro glifi ambigui. La codifica percorre i byte di ingresso come un intero big-endian in base duecentocinquantasei, divide ripetutamente per cinquantotto e mappa ogni resto sull'alfabeto Ripple; i byte zero iniziali diventano caratteri r iniziali in uscita, perché r è la cifra zero di questo alfabeto anziché l'uno di Bitcoin.
La decodifica inverte la mappa: ogni carattere diventa una cifra da zero a cinquantasette, il grande intero viene ricostruito e l'array di byte è recuperato con la stessa regola delle r iniziali. Poiché l'alfabeto non ha carattere di padding, la sola lunghezza non implica una dimensione di blocco fissa come Base64; le andate e i ritorni funzionano finché entrambe le parti concordano sull'alfabeto Ripple e sulla convenzione degli zeri iniziali.
Quando compare un carattere fuori alfabeto — zero, O, I, l, punteggiatura o spazi — il decodificatore deve fallire in modo esplicito. Questa landing si rivolge a chi cerca un codificatore Base58 Ripple, un decodificatore Base58 XRP o un convertitore dell'alfabeto Ripple online; non è Base64, non è solo il Base58 di Bitcoin e non è un validatore completo di indirizzi XRP con prefissi di tipo account e checksum.
Casi d'uso
Codici brevi leggibili con l'ordine dell'alfabeto XRP
Codifichi etichette brevi con l'alfabeto Ripple affinché i codici stampati evitino la confusione 0/O/I/l e seguano l'ordine dei caratteri in stile XRP.
Insegnare gli alfabeti Base58 Ripple rispetto a Bitcoin
In aula si codifica Hello World con entrambi gli alfabeti, si confrontano le stringhe e poi si forzano caratteri non validi per mostrare la validazione rigorosa.
Domande frequenti
Quale alfabeto usa questo codificatore Base58 Ripple?
L'alfabeto Ripple/XRP: rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz. Esclude 0, O, I e l, con un ordine di caratteri diverso dal Base58 di Bitcoin.
In che modo il Base58 Ripple differisce dal Base58 di Bitcoin?
Entrambi escludono 0, O, I e l, ma i cinquantotto caratteri rimanenti sono ordinati in modo diverso. Gli stessi byte quindi codificano stringhe distinte, e gli zeri iniziali si mappano su r in Ripple invece che su 1 in Bitcoin.
Questo valida indirizzi XRP completi?
No. Codifica e decodifica solo testo UTF-8 grezzo con l'alfabeto Base58 Ripple. Non verifica prefissi di tipo account né checksum di indirizzo.
Il codificatore Base58 Ripple è gratuito?
Lo strumento del browser è gratuito e viene eseguito in locale.
Perché alcune stringhe Base58 Ripple iniziano con la lettera r?
Perché la r è la cifra zero dell'alfabeto di Ripple. I byte a zero all'inizio dei suoi dati diventano lettere r iniziali, dove Bitcoin scriverebbe degli uno, e in decodifica tornano a essere byte a zero.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "Hello World"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base58_ripple",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Scelga encode per convertire testo semplice in Base58 Ripple, oppure decode per recuperare UTF-8 da un payload Base58 Ripple; i caratteri fuori alfabeto restituiscono un errore invalid_input chiaro invece di una corruzione silenziosa. Il percorso è aritmetica puramente deterministica su byte UTF-8 — senza rete, senza semi casuali, senza dipendenza dall'orologio — così l'esecutore gratuito del browser e l'API prepagata restituiscono lo stesso JSON ogni volta.
Come chiamare l'API e cosa contiene la risposta
La modalità predefinita è encode: i byte UTF-8 di text diventano una stringa Base58 con l'alfabeto Ripple. Invii un corpo JSON con un campo stringa obbligatorio text (alias input, value e data) e un mode opzionale che sia encode o decode. La modalità decode tratta text come un payload Base58 Ripple e restituisce la stringa UTF-8 recuperata. La lunghezza di ingresso è limitata a centomila caratteri affinché una sola richiesta non esaurisca la memoria del Worker su espansioni patologiche di interi grandi. In caso di successo per encode, la risposta include mode, input, result e base58 con la stessa stringa codificata, alphabet con la costante completa di cinquantotto caratteri Ripple, alphabet_name impostato a ripple, input_bytes come conteggio byte UTF-8, output_length come conteggio caratteri codificati e un breve messaggio in inglese. In caso di successo per decode, la risposta include mode, input, result e text con la stringa UTF-8 decodificata, gli stessi campi alfabeto, input_length, output_bytes e un messaggio corrispondente. Una validazione fallita — text assente, text non stringa, ingresso troppo grande, mode sconosciuto, carattere Base58 non valido o byte decodificati non UTF-8 validi — restituisce invalid_input e non viene mai addebitata. Il prezzo è una tariffa fissa di $0.002 per richiesta riuscita con unità item e prezzo unitario marginale zero.
Suggerimenti pratici, limiti e differenze rispetto a Bitcoin e Flickr Base58
In didattica, codifichi la stessa frase con gli alfabeti Ripple, Bitcoin e Flickr affiancati affinché gli studenti vedano perché le stringhe differiscono pur eliminando tutti e tre gli stessi quattro glifi ambigui. Includa deliberatamente un carattere proibito — cifra zero, O maiuscola, I maiuscola o L minuscola — in una richiesta di decode per verificare che il client gestisca invalid_input e il messaggio di errore che indica l'indice e i glifi esclusi. Mantenga i payload sotto il limite di caratteri pubblicato; le stringhe estremamente lunghe si espandono come interi grandi ed è meglio suddividerle o gestirle offline. Le attività fallite che restituiscono invalid_input non consumano saldo prepagato, il che mantiene economici gli script esplorativi quando Lei prova caratteri fuori alfabeto.
Casi di integrazione
Andate e ritorni di fixture in stile XRP nei test
Generi stringhe Base58 Ripple note da testo di fixture e verifichi in CI che il decode recuperi gli stessi byte UTF-8 senza dipendenza crittografica.
Domande tecniche
Cosa succede se decodifico una stringa con 0, O, I o l?
L'API restituisce invalid_input, indica il carattere errato e il suo indice e ricorda che il Base58 Ripple esclude quei quattro glifi. Le attività fallite non vengono addebitate.