ForHosting KIT · Outils pour développeurs

Encodeur basE91

basE91 range le texte dans 91 caractères imprimables, plus compact que Base64 et sans remplissage : « Hello, world! » devient >OwJh>}A"=r@@Y?F avec l'alphabet d'origine de Joachim Henke, et toute chaîne basE91 redevient du texte UTF-8. 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!
Vous obtenez
Résultat
>OwJh>}A"=r@@Y?F
Mode de calcul
Encode
Variante
base91
Octets
13

basE91 est un schéma compact binaire-vers-texte qui regroupe les données en quatre-vingt-onze caractères ASCII imprimables, en général plus dense que Base64 et utile lorsque vous avez besoin d'une charge plus courte et sûre en texte sans quitter la plage imprimable classique. L'encodage est déterministe : UTF-8 puis arithmétique de file de bits basE91 ; le décodage supprime les espaces, mappe chaque symbole via la table inverse et rejette les symboles illégaux au lieu d'inventer des substitutions silencieuses.

Encoder du texte UTF-8 en basE91

Le moteur interprète la chaîne comme du texte Unicode, la sérialise en octets UTF-8, puis alimente ces octets dans la file de bits basE91 de Joachim Henke : chaque octet d'entrée contribue huit bits, et dès que plus de treize bits sont en tampon l'encodeur émet une paire de deux caractères tirés de l'alphabet de quatre-vingt-onze symboles.

Lorsque la valeur de la fenêtre de treize bits est au plus quatre-vingt-huit, l'algorithme consomme à la place quatorze bits avant d'émettre la paire : c'est l'astuce de largeur variable qui rend basE91 plus dense qu'une expansion Base64 fixe. Une file finale partielle est vidée en un ou deux symboles restants afin que le côté décodage récupère la longueur exacte en octets sans caractères de rembourrage comme les signes égal. Les chaînes vides sont valides et s'encodent en un résultat vide avec zéro octet.

Texte multilingue, emoji et ponctuation font l'aller-retour complet car le chemin est UTF-8 plein, pas un raccourci Latin-1. La réponse inclut toujours result avec la chaîne basE91, mode égal à encode, variant égal à base91 et bytes égal à la longueur UTF-8 avant encodage, pour que vous puissiez asserter la taille de la charge dans les tests. Des entrées identiques produisent toujours des sorties identiques car l'algorithme est de l'arithmétique pure sans réseau, sans sel aléatoire et sans horloge murale.

Utilisez ce chemin lorsque vous avez besoin d'une représentation dense et sûre en texte plus compacte que Base64 pour de courts fragments de configuration, des échantillons de documentation ou des canaux basE91 hérités.

Décoder basE91 en texte et gérer les caractères invalides

Définissez mode sur decode et placez une chaîne basE91 dans text. Les espaces blancs en tête, en queue et internes — y compris espaces, tabulations et sauts de ligne — sont supprimés afin que les collages multilignes fonctionnent encore. L'alphabet est strict : seuls les quatre-vingt-onze symboles définis par Joachim Henke (lettres majuscules et minuscules, chiffres et un ensemble fixe de ponctuation imprimable excluant l'espace, le tiret, l'apostrophe et la barre oblique inverse) sont acceptés.

Le décodeur reconstruit la file de bits en appariant les symboles : le premier de chaque paire est le chiffre bas modulo quatre-vingt-onze et le second multiplie par quatre-vingt-onze ; treize ou quatorze bits sont libérés par paire selon le même seuil de quatre-vingt-huit utilisé à l'encodage, puis des octets entiers sont émis jusqu'à ce qu'il reste moins de huit bits. Un symbole final non apparié est traité comme une courte vidange de la file restante.

Un décodage réussi renvoie result comme la chaîne récupérée, mode decode, variant base91 et bytes comme la longueur UTF-8 décodée. Préférez cette capacité lorsque l'intention de recherche est littéralement encodeur base91, décodeur basE91 ou convertir base91 pour du contenu lisible ; Base64, Base58 et Ascii85 restent des outils séparés avec leurs propres pages.

Interopérabilité basE91 héritée

Encodez ou décodez des charges basE91 de Joachim Henke lors de l'intégration d'outils, d'archives ou de bibliothèques qui attendent déjà l'alphabet classique de quatre-vingt-onze symboles.

Comment encoder du texte en basE91 ?

Le champ result de la réponse contient la chaîne basE91 et bytes est la longueur UTF-8.

Comment décoder basE91 en texte ?

Définissez mode sur decode et placez la chaîne basE91 dans text. Les espaces blancs sont supprimés. Le champ result est le texte UTF-8 récupéré.

Que se passe-t-il avec un caractère basE91 invalide ?

Les caractères hors de l'alphabet basE91 de quatre-vingt-onze symboles sont rejetés ; les échecs de validation ne sont pas facturés.

L'encodeur basE91 est-il gratuit ?

L'outil du navigateur s'exécute gratuitement sur votre appareil.

En quoi basE91 diffère-t-il de Base64 ?

basE91 utilise un alphabet de 91 symboles et une file de largeur variable de 13/14 bits, typiquement environ 23 % de surcharge contre environ 33 % pour Base64. Cet outil implémente basE91 de Joachim Henke, pas Base64 RFC 4648.

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/base91

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/base91 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello, world!"}'
{
  "text": "Hello, world!"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base91",
  "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.

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.

On cherche un encodeur base91 ou un décodeur basE91 pour stocker de courts jetons binaires dans du JSON, des tickets ou du chat, comparer la surcharge face à Base64, ou restaurer une chaîne basE91 produite par un autre outil avec l'alphabet original de Joachim Henke. Cette capacité se concentre sur ce travail quotidien : choisissez le mode encode ou decode, envoyez un champ texte et recevez la chaîne transformée plus la longueur en octets, ou une erreur claire invalid_input lorsque la charge à décoder contient un caractère hors de l'alphabet basE91.

Encoder du texte UTF-8 en basE91

Envoyez un corps JSON avec le champ chaîne obligatoire text égal au message en clair que vous souhaitez représenter en basE91, et laissez mode à sa valeur par défaut encode ou définissez mode sur encode explicitement. Les alias optionnels input, value et s sont acceptés pour le même champ lorsque vous générez des clients à partir d'anciens noms de formulaire.

Décoder basE91 en texte et gérer les caractères invalides

Tout autre caractère — y compris les signes égal de rembourrage Base64, le tiret ou le souligné sûrs pour URL pris d'alphabets étrangers, ou du bruit binaire — provoque un échec immédiat invalid_input avec un message qui nomme la condition de caractère basE91 invalide, afin que les clients corrigent le collage au lieu de recevoir de l'Unicode corrompu. Après validation de l'alphabet, les octets récupérés sont décodés en UTF-8 avec un décodeur fatal : si la charge n'est pas du texte Unicode valide, vous obtenez invalid_input au lieu de caractères de remplacement qui corrompraient les affichages en aval. Les échecs de validation ne sont pas facturés sur l'API prépayée, de sorte que sonder un jeton suspect est bon marché pour les opérateurs et sûr pour les utilisateurs finaux.

Usage de l'API, tarification, flux et limites pratiques

Appelez l'encodeur basE91 gratuit dans le navigateur pour des démonstrations en classe, des playbooks de support, des contrôles de jetons et des conversions ponctuelles sans installer de paquets natifs ni écrire vous-même une file de bits sur mesure. Un flux typique encode une courte valeur de configuration pour stockage dans un ticket texte seul, l'envoie par e-mail ou chat, puis la décode sur le service destinataire avec mode decode et vérifie que bytes correspond à la longueur d'origine. Associez ce point de terminaison à un outil Base64 lorsqu'un système partenaire ne parle que Base64, mais gardez les étapes sur des pages distinctes pour qu'elles correspondent chacune à une seule intention de recherche — densité basE91 versus ubiquité Base64. Utilisez l'API prépayée KIT lorsqu'un backend, une fonction serverless ou un SDK a besoin de la même étape d'encodage ou de décodage sous solde à $0.002 par élément réussi ; une validation échouée ne consomme jamais le solde une fois que le moteur rejette la requête. Les auteurs qui livrent des SDK peuvent mapper le champ result directement vers un bouton de copie, tandis que les libellés mode et variant rendent les exemples OpenAPI explicites pour les lecteurs qui ne connaissent que l'alphabet de quatre-vingt-onze symboles et la file variable de treize ou quatorze bits.

Jetons de configuration denses et sûrs en texte

Empaquetez de courts fragments de configuration UTF-8 plus compactement que Base64 pour tickets, chat et JSON, puis décodez-les sur le service destinataire avec le même champ mode.

Documentation et golden de CI

Figez des fixtures encode et decode pour que les échantillons de documentation et les tests d'intégration continue échouent vite si l'alphabet basE91 ou les règles de la file de bits dérivent.

Consulter la documentation complète du KIT →