ForHosting KIT · Outils pour développeurs

Encodeur et décodeur Base58

« Hello World » devient JxF12TrwUP45BMd en Base58, avec l'alphabet Bitcoin de 58 caractères sans zéro, O majuscule, I majuscule ni l minuscule, pour des codes lisibles sur papier comme à l'écran. Le décodage fonctionne aussi. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
Hello World
Mode de calcul
Encode
Vous obtenez
Résultat
JxF12TrwUP45BMd
Entrée
Hello World
Sortie Base58
JxF12TrwUP45BMd
Nom de l'alphabet
bitcoin

Un encodeur Base58 transforme un texte UTF-8 ordinaire en une chaîne compacte n'utilisant que cinquante-huit caractères sans ambiguïté, et un décodeur Base58 inverse cette correspondance pour restituer le texte d'origine. Cet outil utilise l'alphabet Bitcoin : chiffres et lettres sans le zéro, le O majuscule, le I majuscule ni le L minuscule, les quatre glyphes que l'on confond le plus souvent en lisant des notes manuscrites, des impressions de QR ou des adresses de portefeuille. Les développeurs vérifient des chaînes semblables à des adresses, les enseignants démontrent des bases alternatives, et les scripts ont besoin d'allers-retours déterministes sans installer de bibliothèque cryptographique.

Qu'est-ce que le Base58 Bitcoin et pourquoi ces quatre caractères manquent

Base58 est un encodage binaire-vers-texte qui fait correspondre une séquence d'octets quelconque à un alphabet de cinquante-huit symboles. Contrairement à Base64, il écarte les caractères difficiles à distinguer à l'écrit comme à l'oral : le chiffre zéro, la lettre O majuscule, la lettre I majuscule et la lettre L minuscule.

Le projet Bitcoin a popularisé un ordre concret des symboles restants — un à neuf, puis A–Z sans I ni O, puis a–z sans l — et c'est cet ordre qu'utilisent les portefeuilles, de nombreux explorateurs de blockchain et cette capacité. L'encodage parcourt les octets d'entrée comme un entier gros-boutiste en base deux cent cinquante-six, divise à répétition par cinquante-huit et associe chaque reste à l'alphabet ; les octets nuls initiaux deviennent des uns initiaux dans la sortie, selon la même convention que les adresses Bitcoin.

Le décodage inverse la correspondance : chaque caractère devient un chiffre de zéro à cinquante-sept, le grand entier est reconstruit et le tableau d'octets est récupéré avec la même règle des uns initiaux. Comme l'alphabet n'a pas de caractère de remplissage, la longueur seule n'implique pas une taille de bloc fixe comme avec Base64 ; les allers-retours fonctionnent tant que les deux parties s'accordent sur l'alphabet et la convention des zéros initiaux.

Lorsqu'un caractère hors alphabet apparaît — zéro, O, I, l, ponctuation ou espace — le décodeur doit échouer bruyamment. Une substitution silencieuse inventerait une charge différente, ce qui est pire qu'une erreur franche pour les portefeuilles, les sommes de contrôle et les tests automatisés. Cette landing vise les personnes qui cherchent un encodeur Base58, un décodeur Base58 ou un convertisseur d'alphabet Bitcoin en ligne ; ce n'est ni Base64, ni Base32, ni un validateur complet d'adresses Bitcoin avec octets de version et sommes de contrôle.

Conseils pratiques, limites et différence avec Base64

Préférez encode lorsque vous partez de texte lisible ou de courtes charges binaires sous forme de texte à coller sans glyphes ambigus ; préférez decode lorsque vous détenez déjà une chaîne Base58 issue d'un portefeuille, d'une étiquette QR ou d'un fichier de référence. Les contrôles d'aller-retour sont le test de fumée le plus rapide : encodez une phrase connue comme Hello World, confirmez le résultat classique JxF12TrwUP45BMd, puis décodez cette chaîne et confirmez que vous retrouvez la phrase d'origine octet pour octet.

Gardez les charges sous la limite de caractères publiée ; les chaînes extrêmement longues s'étendent en grands entiers et sont mieux découpées ou traitées hors ligne. Cet outil n'est pas un analyseur d'adresses Bitcoin : il ne retire pas de préfixe de version, ne recalcule pas de somme de contrôle double-SHA256 et ne classe pas mainnet contre testnet. Ce n'est pas non plus Base64 ou Base64URL — ces alphabets incluent plus, barre oblique et remplissage égal, et conservent le zéro et le O majuscule.

Préférez Base58 lorsque la sécurité de transcription humaine compte plus que la densité ; préférez Base64 lorsque vous voulez un maximum de bits par caractère et un transport purement machine. En cours, montrez la même phrase encodée en Base58 et en Base64 côte à côte pour que les apprenants voient pourquoi l'alphabet Bitcoin a une autre allure et pourquoi les erreurs de copier-coller diminuent une fois les quatre glyphes ambigus éliminés.

Allers-retours de portefeuille et de références en test

Générez des chaînes Base58 connues à partir de textes de référence et vérifiez que le décodage restitue les mêmes octets UTF-8 en CI sans dépendance cryptographique.

Codes courts sûrs pour l'impression et les QR

Encodez de courtes étiquettes pour que les codes imprimés évitent la confusion 0/O/I/l lorsque le personnel les saisit depuis du papier ou des photos de téléphone.

Enseigner les bases alternatives et l'alphabet Bitcoin

En classe et en atelier, encodez Hello World, examinez l'alphabet, puis forcez des caractères invalides pour montrer la validation stricte.

Quel alphabet cet encodeur Base58 utilise-t-il ?

L'alphabet Bitcoin : 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Il exclut 0, O, I et l.

Base58 est-il identique à Base64 ?

Non. Base64 utilise soixante-quatre symboles dont +, / et le remplissage =, et conserve 0 et O. Base58 compte moins de glyphes ambigus et est courant dans les chaînes de style Bitcoin.

Cet outil valide-t-il des adresses Bitcoin complètes ?

Non. Il encode et décode uniquement du texte UTF-8 brut selon l'alphabet Base58 Bitcoin. Il ne vérifie ni les octets de version ni les sommes de contrôle double-SHA256.

L'encodeur Base58 est-il gratuit ?

L'outil du navigateur est gratuit et s'exécute localement.

Pourquoi ma chaîne Base58 est-elle refusée au décodage ?

Parce qu'elle contient un caractère absent de l'alphabet Bitcoin : zéro, O ou I majuscule, l minuscule, ponctuation ou espace. Le décodeur s'arrête avec un message clair au lieu de la transformer discrètement en un autre texte.

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.

POSThttps://api.kit.forhosting.com/enc/base58

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é.

curl -X POST https://api.kit.forhosting.com/enc/base58 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello World"}'
{
  "text": "Hello World"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base58",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_chars100000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Choisissez encode pour convertir du texte brut en Base58, ou decode pour récupérer l'UTF-8 depuis une charge Base58 ; les caractères hors alphabet renvoient une erreur invalid_input claire au lieu d'une corruption silencieuse. Le parcours est une arithmétique pure et déterministe sur des octets UTF-8 — sans réseau, sans graine aléatoire, sans dépendance à l'horloge — donc l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON à chaque fois.

Comment appeler l'API et ce que contient la réponse

Le mode par défaut est encode : les octets UTF-8 de text deviennent une chaîne Base58 selon l'alphabet Bitcoin. Le mode decode traite text comme une charge Base58 et renvoie la chaîne UTF-8 récupérée. Envoyez un corps JSON avec un champ chaîne obligatoire text (alias input, value et data) et un mode facultatif valant encode ou decode. La longueur d'entrée est plafonnée à cent mille caractères afin qu'une requête unique ne puisse épuiser la mémoire du Worker par une expansion pathologique de grands entiers. En cas de succès en encode, la réponse comprend mode, input, result et base58 avec la même chaîne encodée, alphabet avec la constante complète de cinquante-huit caractères, alphabet_name fixé à bitcoin, input_bytes comme nombre d'octets UTF-8, output_length comme nombre de caractères encodés, et un court message en anglais. En cas de succès en decode, la réponse comprend mode, input, result et text avec la chaîne UTF-8 décodée, les mêmes champs d'alphabet, input_length, output_bytes et un message correspondant. Une validation échouée — text manquant, text non textuel, entrée trop longue, mode inconnu, caractère Base58 invalide ou octets décodés qui ne sont pas de l'UTF-8 valide — renvoie invalid_input et n'est jamais facturée. Le tarif est un forfait de $0.002 par requête réussie avec l'unité item et un prix unitaire marginal nul.

Conseils pratiques, limites et différence avec Base64

Incluez délibérément un caractère interdit — chiffre zéro, O majuscule, I majuscule ou L minuscule — dans une requête de décodage pour vérifier que votre client gère invalid_input et le message d'erreur qui nomme l'index et les glyphes exclus. Les tâches échouées qui renvoient invalid_input ne consomment pas de solde prépayé, ce qui garde les scripts exploratoires peu coûteux lorsque vous testez des caractères hors alphabet.

Que se passe-t-il si je décode une chaîne contenant 0, O, I ou l ?

L'API renvoie invalid_input, nomme le caractère fautif et son index, et rappelle que le Base58 Bitcoin exclut ces quatre glyphes. Les tâches échouées ne sont pas facturées.

Consulter la documentation complète du KIT →