Codificatore basE91
basE91 mette il testo in 91 caratteri stampabili, più compatto di Base64 e senza riempimento: «Hello, world!» diventa >OwJh>}A"=r@@Y?F con l'alfabeto originale di Joachim Henke, e ogni stringa basE91 torna testo UTF-8. 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!
- Risultato
- >OwJh>}A"=r@@Y?F
- Modalità di calcolo
- Encode
- Variante
- base91
- Byte
- 13
La codifica è deterministica: UTF-8 e poi aritmetica a coda di bit basE91; la decodifica rimuove gli spazi bianchi, mappa ogni simbolo tramite la tabella inversa e rifiuta i simboli illegali invece di inventare sostituzioni silenziose.
Codificare testo UTF-8 in basE91
Il motore interpreta la stringa come testo Unicode, la serializza in byte UTF-8 e alimenta tali byte nella coda di bit basE91 di Joachim Henke: ogni byte di ingresso contribuisce otto bit e, quando più di tredici bit sono nel buffer, il codificatore emette una coppia di due caratteri tratti dall'alfabeto di novantuno simboli.
Quando il valore della finestra a tredici bit è al massimo ottantotto, l'algoritmo consuma invece quattordici bit prima di emettere la coppia: è il trucco a larghezza variabile che rende basE91 più denso di un'espansione Base64 fissa. Una coda finale parziale viene scaricata come uno o due simboli rimanenti affinché il lato decodifica recuperi la lunghezza esatta in byte senza caratteri di riempimento come i segni di uguale. Le stringhe vuote sono valide e si codificano in un risultato vuoto con zero byte.
Testo multilingue, emoji e punteggiatura completano l'andata e ritorno perché il percorso è UTF-8 pieno, non una scorciatoia Latin-1. Ingressi identici producono sempre uscite identiche perché l'algoritmo è aritmetica pura senza rete, senza sale casuale e senza orologio di parete. Usi questo percorso quando Le serve una rappresentazione densa e sicura in testo più compatta di Base64 per brevi frammenti di configurazione, campioni di documentazione o canali basE91 legacy.
Decodificare basE91 in testo e gestire caratteri non validi
Imposti mode su decode e collochi una stringa basE91 in text. Gli spazi bianchi iniziali, finali e interni — inclusi spazi, tabulazioni e a capo — vengono rimossi così i collages multilinea funzionano ancora. L'alfabeto è rigoroso: sono accettati solo i novantuno simboli definiti da Joachim Henke (lettere maiuscole e minuscole, cifre e un insieme fisso di punteggiatura stampabile che esclude spazio, trattino, apostrofo e barra rovesciata).
Il decodificatore ricostruisce la coda di bit accoppiando i simboli: il primo di ciascuna coppia è la cifra bassa modulo novantuno e il secondo scala di novantuno; vengono rilasciati tredici o quattordici bit per coppia secondo la stessa soglia di ottantotto usata in codifica, poi si emettono byte interi finché restano meno di otto bit. Un simbolo finale senza coppia è trattato come uno scarico breve della coda restante. Una decodifica riuscita restituisce result come la stringa recuperata, mode decode, variant base91 e bytes come la lunghezza UTF-8 decodificata.
Preferisca questa capacità quando l'intento di ricerca è letteralmente codificatore base91, decodificatore basE91 o convertire base91 per contenuti leggibili; Base64, Base58 e Ascii85 restano strumenti separati con le proprie pagine.
Domande frequenti
Come codifico testo in basE91?
Il campo result della risposta contiene la stringa basE91 e bytes è la lunghezza UTF-8.
Come decodifico basE91 di nuovo in testo?
Imposti mode su decode e collochi la stringa basE91 in text. Gli spazi bianchi vengono rimossi. Il campo result è il testo UTF-8 recuperato.
Cosa succede con un carattere basE91 non valido?
I caratteri fuori dall'alfabeto basE91 di novantuno simboli vengono rifiutati; i fallimenti di convalida non vengono addebitati.
Il codificatore basE91 è gratuito?
Lo strumento del browser viene eseguito gratis sul Suo dispositivo.
In che cosa basE91 differisce da Base64?
basE91 usa un alfabeto di 91 simboli e una coda a larghezza variabile di 13/14 bit, tipicamente circa il 23% di sovraccarico contro circa il 33% di Base64. Questo strumento implementa basE91 di Joachim Henke, non Base64 RFC 4648.
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/base91 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/base91", {
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/base91",
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/base91", 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/base91", 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.base91",
"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.
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
basE91 è uno schema compatto da binario a testo che impacchetta i dati in novantuno caratteri ASCII stampabili, in genere più denso di Base64 e utile quando Le serve un payload più corto e sicuro in testo senza uscire dall'intervallo stampabile classico. Chi cerca un codificatore base91 o un decodificatore basE91 di solito memorizza token binari brevi in JSON, ticket o chat, confronta il sovraccarico rispetto a Base64 o ripristina una stringa basE91 prodotta da un altro strumento con l'alfabeto originale di Joachim Henke. Questa capacità si concentra su quel lavoro quotidiano: scelga la modalità encode o decode, invii un campo di testo e riceva la stringa trasformata più la lunghezza in byte, oppure un errore chiaro invalid_input quando il payload da decodificare contiene un carattere fuori dall'alfabeto basE91.
Codificare testo UTF-8 in basE91
Invii un corpo JSON con il campo stringa obbligatorio text impostato sul messaggio in chiaro che desidera rappresentare in basE91, e lasci mode al valore predefinito encode oppure imposti mode su encode in modo esplicito. Sono accettati alias opzionali input, value e s per lo stesso campo quando genera client da vecchi nomi di modulo. La risposta include sempre result con la stringa basE91, mode uguale a encode, variant uguale a base91 e bytes uguale alla lunghezza UTF-8 prima della codifica, così può asserire la dimensione del payload nei test.
Decodificare basE91 in testo e gestire caratteri non validi
Qualsiasi altro carattere — inclusi i segni di uguale di riempimento Base64, il trattino o il trattino basso sicuri per URL presi da alfabeti estranei, o rumore binario — provoca un fallimento immediato invalid_input con un messaggio che nomina la condizione di carattere basE91 non valido, così i client possono correggere l'incolla invece di ricevere Unicode corrotto. Dopo la convalida dell'alfabeto, i byte recuperati sono decodificati come UTF-8 con un decodificatore fatale: se il payload non è testo Unicode valido, ottiene invalid_input invece di caratteri di sostituzione che corromperebbero le visualizzazioni a valle. I fallimenti di convalida non vengono addebitati sull'API prepagata, così sondare un token sospetto è economico per gli operatori e sicuro per gli utenti finali.
Uso dell'API, prezzi, flussi e limiti pratici
Usi il codificatore basE91 gratuito nel browser per demo in aula, playbook di supporto, controlli di token e conversioni una tantum senza installare pacchetti nativi né scrivere da Sé una coda di bit su misura. Un flusso tipico codifica un breve valore di configurazione per l'archiviazione in un ticket solo testo, lo invia via e-mail o chat, poi lo decodifica sul servizio ricevente con mode decode e verifica che bytes corrisponda alla lunghezza originale. Usi l'API prepagata KIT quando un backend, una funzione serverless o un SDK necessitano dello stesso passo di codifica o decodifica a saldo a $0.002 per elemento riuscito; la convalida fallita non consuma mai il saldo dopo che il motore rifiuta la richiesta. Abbini questo endpoint a uno strumento Base64 quando un sistema partner parla solo Base64, ma mantenga i passi su pagine distinte così ciascuna corrisponde a un solo intento di ricerca — densità basE91 versus ubiquità Base64. Chi pubblica SDK può mappare il campo result direttamente su un pulsante di copia, mentre le etichette mode e variant rendono gli esempi OpenAPI autoesplicativi per i lettori che conoscono solo l'alfabeto di novantuno simboli e la coda variabile a tredici o quattordici bit.
Casi di integrazione
Token di configurazione densi e sicuri in testo
Impacchetti brevi frammenti di configurazione UTF-8 in modo più compatto di Base64 per ticket, chat e JSON, poi li decodifichi sul servizio ricevente con lo stesso campo mode.
Interoperabilità basE91 legacy
Codifichi o decodifichi payload basE91 di Joachim Henke integrando strumenti, archivi o librerie che già si aspettano l'alfabeto classico di novantuno simboli.
Documentazione e golden di CI
Fissi fixture di encode e decode affinché campioni di documentazione e test di integrazione continua falliscano subito se l'alfabeto basE91 o le regole della coda di bit si discostano.