Base85 RFC 1924
« Hello World » devient 7KPt{PR^XAyM<W en Base85 RFC 1924, l'alphabet de 85 caractères proposé pour écrire une adresse IPv6 de 128 bits en vingt caractères, appliqué ici à n'importe quel texte, sans espace, guillemet ni barre à échapper. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Hello World
- Mode de calcul
- Encode
- Résultat
- 7KPt{PR^XAyM<W
- Entrée
- Hello World
- Base85 (RFC 1924)
- 7KPt{PR^XAyM<W
- Nom de l'alphabet
- rfc1924
Implémente Base85 RFC 1924 de façon déterministe (parse). Saisissez la valeur et le mode le cas échéant pour une conversion exacte sans réseau.
Un alphabet conçu pour les adresses IPv6
Le RFC 1924 a proposé une écriture compacte des adresses IPv6 : traiter l'adresse entière de 128 bits comme un seul nombre et la réécrire en base 85, pour qu'elle tienne en vingt caractères imprimables au lieu de la longue forme hexadécimale avec deux-points. Son alphabet est fixe : les chiffres de 0 à 9, les lettres de A à Z et de a à z, et vingt-trois signes comme !, #, %, & et ~. Il écarte volontairement l'espace, les guillemets, la virgule, le point, la barre oblique, les deux-points, les crochets et la barre oblique inverse, afin que les chaînes se collent dans un terminal ou un fichier de configuration sans souci. Cet outil applique ce même alphabet à du texte UTF-8 ordinaire.
Comment se fait la conversion et où elle échoue
Votre texte devient des octets UTF-8, lus comme un seul grand nombre puis divisés par 85 encore et encore ; chaque reste désigne un caractère de l'alphabet. Les octets nuls du début deviennent des caractères 0 en tête, car le 0 est le premier symbole, et le décodage les restitue. « Hello World », soit 11 octets, devient les 14 caractères 7KPt{PR^XAyM<W. Les erreurs courantes consistent à coller une chaîne contenant une espace, une virgule ou un guillemet, que le décodeur refuse en indiquant le caractère et sa position, ou à attendre une adresse IPv6 avec deux-points : cette page convertit du texte, pas des adresses.
Rôle
Les encodeurs et conversions de base sont très recherchés. Base85 RFC 1924 applique UTF-8↔Base85 RFC1924 avec validation stricte. Les goldens fixent entrées et sorties pour un oracle.
Le formulaire web expose params avec libellés en huit langues.
Usage
Utilisez Base85 RFC 1924 pour la conversion exacte décrite, pas un pack cryptographique complet. Ne remplace pas un chiffrement à clé. Combinez avec d’autres utilitaires enc.
*. Documentez limites et modes.
Cas d’usage
Cours avec Base85 RFC 1924.
Cours avec Base85 RFC 1924.
Tests unitaires d’encodage.
Tests unitaires d’encodage.
Utilitaires de pipeline texte.
Utilitaires de pipeline texte.
Questions fréquentes
Quels caractères le Base85 RFC 1924 écarte-t-il, et pourquoi ?
Il écarte l'espace, les guillemets, la virgule, le point, la barre oblique, les deux-points, les crochets et la barre oblique inverse. Les chaînes encodées se collent ainsi dans un terminal ou un fichier de configuration sans mauvaise surprise de guillemets.
Pourquoi ma chaîne encodée commence-t-elle par des zéros ?
Les octets nuls au début de vos données deviennent des caractères 0 en tête, car le 0 est le premier symbole de l'alphabet. Au décodage, chacun redevient un octet nul et vous retrouvez exactement les octets d'origine.
Que se passe-t-il si je décode une chaîne avec une espace ou une virgule ?
Le décodage s'arrête avec un message clair qui indique le caractère et sa position. Espaces, virgules, guillemets, crochets et tout autre symbole hors de l'alphabet de 85 caractères sont refusés : une chaîne abîmée ne devient jamais un autre texte en silence.
Pourquoi le Base85 du RFC 1924 a-t-il été créé ?
Pour écrire une adresse IPv6 complète de 128 bits en seulement vingt caractères imprimables, au lieu de la longue forme hexadécimale avec deux-points. Cet outil applique le même alphabet à du texte UTF-8 ; il ne met pas en forme les adresses IPv6.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/base85-rfc1924 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/enc/base85-rfc1924", {
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/base85-rfc1924",
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/base85-rfc1924", 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/base85-rfc1924", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "Hello World"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base85_rfc1924",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 100000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
API $0.002 par succès ; web gratuit avec le même noyau pour cours, tests et utilitaires.
Rôle
Pas d’état ni d’horloge. invalid_input évite les sorties fausses silencieuses.
Fonctionnement
Les optionnels sont omis, jamais null. Les limites de params et cap.json sont appliquées. Après validation, le noyau transforme et renvoie un JSON stable. L’API facture $0.002 par succès.
Usage
Pas d’abonnement ; facturation à l’usage réussi uniquement via l’API documentée.
Questions techniques
Est-ce déterministe ?
Oui : même entrée, même sortie.
Réseau ou IA ?
Non ; parse seul.
Entrée invalide ?
invalid_input avec message clair.
Prix ?
API $0.002 par succès ; web gratuit.
Y a-t-il un widget ?
Oui, tier A avec la même lib.js.