ForHosting KIT · Outils pour développeurs

Encodeur et décodeur Base16 RFC 4648

Encodez du texte en Base16 selon la RFC 4648, l'hexadécimal standard en majuscules où chaque octet devient deux caractères : Hello donne 48656C6C6F. Le décodage accepte les vidages avec espaces ou deux-points et refuse tout ce qui est mal formé. 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
Mode de calcul
Encode
Vous obtenez
Résultat
48656C6C6F
Entrée
Hello
Base 16
48656C6C6F
Hexadécimal
48656C6C6F

RFC 4648 Base16 est l'encodage hexadécimal normalisé en majuscules : chaque octet d'entrée devient exactement deux caractères de l'alphabet 0-9 et A-F, sans remplissage et sans glyphes ambigus. Cet outil encode du texte UTF-8 brut dans cette forme canonique Base16 et décode les chaînes hex Base16 en texte, ce qui vous permet de coller dans les deux sens sans installer de bibliothèque cryptographique. L'encodage émet toujours des chiffres en majuscules comme l'exige la norme ; le décodage accepte le bruit courant du collage, comme les espaces, les deux-points et la casse mixte, puis normalise et valide avant de convertir.

Qu'est-ce que RFC 4648 Base16 et comment fonctionne l'alphabet

Base16 est défini dans la RFC 4648 comme un encodage binaire vers texte qui associe chaque octet de huit bits à deux symboles d'un alphabet de seize caractères : les chiffres décimaux de zéro à neuf suivis des lettres latines majuscules de A à F. Cet alphabet est identique à la notation hexadécimale majuscule bien connue des documents de protocoles, des traces de paquets et de nombreux manuels matériels.

L'encodage parcourt l'entrée de gauche à droite, divise chaque octet en un quartet haut et un quartet bas et associe chaque quartet à un caractère de l'alphabet, produisant une chaîne dont la longueur est toujours le double du nombre d'octets. Il n'y a ni caractère de remplissage ni règle de retour à la ligne dans l'encodage de base ; les consommateurs qui ont besoin de sauts de ligne ou de séparateurs les ajoutent uniquement pour l'affichage.

Le décodage inverse la correspondance : chaque paire de chiffres hex consécutifs devient un octet. Les implémentations qui revendiquent la conformité à la RFC 4648 encodent avec A–F en majuscules ; beaucoup de décodeurs acceptent aussi a–f en minuscules pour l'interopérabilité avec les outils qui émettent une casse mixte.

Les espaces et séparateurs décoratifs comme les deux-points, les traits de soulignement ou les tirets apparaissent souvent dans les vidages édités à la main et doivent être supprimés avant les vérifications de longueur et d'alphabet ; la chaîne continue restante doit avoir une longueur paire. Quand un caractère hors de 0-9A-Fa-f apparaît, ou quand le nombre de chiffres est impair, le décodeur doit échouer bruyamment.

Cette page cible les personnes qui recherchent un encodeur Base16, un convertisseur hex RFC 4648 ou un encodage et décodage hexadécimal majuscule en ligne ; ce n'est ni Base64, ni Base32, ni Base58, ni un convertisseur général de bases pour de grands entiers arbitraires.

Conseils pratiques, limites et différences avec les autres encodages

Préférez encode quand vous partez de texte lisible ou de courtes charges UTF-8 que vous voulez sous forme de vidage hex canonique en majuscules pour des spécifications, des tickets ou des tests unitaires. Les vérifications aller-retour sont le test de fumée le plus rapide : encodez un mot connu comme Hello, confirmez le classique résultat en majuscules 48656C6C6F, puis décodez cette chaîne et confirmez que vous récupérez la phrase originale octet par octet.

Gardez les charges sous la limite de caractères publiée ; les vidages de plusieurs mégaoctets relèvent du hors-ligne ou d'outils binaires dédiés. Cet outil n'est ni Base64 ni Base64URL : ces alphabets utilisent soixante-quatre symboles avec remplissage et un empaquetage plus dense. Ce n'est pas non plus Base58, qui élimine les glyphes ambigus pour la transcription humaine.

Et ce n'est pas un convertisseur de bases d'entiers ou de flottants : pour convertir un seul nombre hex en décimal ou binaire, utilisez les capacités dédiées aux formats numériques au lieu de traiter les chiffres comme une chaîne d'octets opaque. Préférez Base16 quand vous avez besoin d'un vidage 1:1 lisible par quartet conforme à la RFC 4648 et à l'hex des manuels ; préférez Base64 quand la densité compte plus que la lisibilité.

Pour enseigner, montrez la même phrase encodée en Base16 et en Base64 côte à côte afin que les apprenants voient pourquoi l'hex est plus long, toujours de longueur paire, et pourquoi A–F en majuscules est la forme normalisée du Tableau 5 de la RFC 4648.

Débogage de journaux et traces de paquets collés

Collez des vidages hex avec espaces ou deux-points, décodez-les en texte lisible quand la charge est en UTF-8, ou réencodez après édition pour des vérifications aller-retour.

Enseigner la RFC 4648 et la notation hexadécimale

En classe, on encode Hello en 48656C6C6F, on inspecte l'alphabet 0-9A-F, puis on force une longueur impaire ou des caractères invalides pour montrer la validation stricte.

Quel alphabet cet encodeur Base16 utilise-t-il ?

L'alphabet Base16 de la RFC 4648 : 0123456789ABCDEF. L'encodage produit toujours A–F en majuscules ; le décodage accepte aussi a–f en minuscules et les séparateurs courants.

Que se passe-t-il si je décode une chaîne hex de longueur impaire ou un caractère non hex ?

Les tâches en échec ne sont pas facturées.

Base16 est-il identique à Base64 ?

Non. Base16 associe chaque octet à deux chiffres hex d'un alphabet de seize symboles. Base64 utilise soixante-quatre symboles, un empaquetage plus dense et des caractères de remplissage optionnels.

Convertit-il de grands entiers hex en décimal ?

Non. Il traite l'entrée comme une séquence d'octets opaque selon la RFC 4648 Base16, et non comme un entier à précision multiple unique. Utilisez les outils de formats numériques pour convertir des entiers de hex en décimal.

L'encodeur Base16 est-il gratuit ?

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

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/base16-rfc4648

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

Une entrée malformée — nombre impair de chiffres hex, caractère hors de l'alphabet ou octets qui ne sont pas du UTF-8 valide — renvoie une erreur invalid_input claire au lieu d'une corruption silencieuse. Le traitement est une arithmétique d'octets pure et déterministe — sans réseau, sans graine aléatoire, sans 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 Base16 en majuscules selon l'alphabet de la RFC 4648. Le mode decode traite text comme une charge Base16 — éventuellement avec des espaces ou des séparateurs deux-points et une casse mixte — et renvoie la chaîne UTF-8 récupérée après normalisation. Envoyez un corps JSON avec un champ chaîne obligatoire text (alias input, value et data) et un mode facultatif qui vaut encode ou decode. La longueur d'entrée est plafonnée à cent mille caractères pour qu'une seule requête ne puisse épuiser la mémoire du Worker avec des vidages pathologiques. En cas de succès avec encode, la réponse inclut mode, input, result ainsi que base16 et hex avec la même chaîne encodée, alphabet avec la constante de seize caractères 0123456789ABCDEF, alphabet_name avec la valeur rfc4648_base16, standard avec RFC 4648 Base16, input_bytes comme le nombre d'octets UTF-8, output_length comme le nombre de caractères encodés et un court message en anglais. En cas de succès avec decode, la réponse inclut mode, input, result et text avec la chaîne UTF-8 décodée, base16_normalized avec la forme continue en majuscules, les mêmes champs alphabet et standard, input_length, output_bytes et un message correspondant. Une validation en échec — text manquant, text non chaîne, entrée surdimensionnée, mode inconnu, longueur hex impaire, caractère Base16 invalide ou octets décodés qui ne sont pas du 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 marginal unitaire nul.

Conseils pratiques, limites et différences avec les autres encodages

Envoyez volontairement une chaîne hex de longueur impaire ou un glyphe non hex comme G ou Z dans une requête decode pour vérifier que votre client gère invalid_input et le message d'erreur qui cite la règle. Les tâches en échec qui renvoient invalid_input ne consomment pas de solde prépayé, ce qui garde les scripts exploratoires bon marché quand vous testez du hex malformé.

Vidages hex de protocoles et fixtures dans les tests

Générez du Base16 canonique en majuscules à partir de texte de fixtures et vérifiez que decode récupère les mêmes octets UTF-8 en CI sans dépendance cryptographique.

Consulter la documentation complète du KIT →