ForHosting KIT · Outils pour développeurs

Encodeur Q d'en-têtes

Mettez des accents dans l'objet ou le nom d'expéditeur d'un e-mail sans rien casser : Hello café devient =?UTF-8?Q?Hello_caf=C3=A9?=, et un mot encodé collé redevient du texte lisible. 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 café
Mode de calcul
Encode
Vous obtenez
Résultat
=?UTF-8?Q?Hello_caf=C3=A9?=
Encodage
rfc2047-q
Jeu de caractères
UTF-8
Forme
Encoded word

Cet encodeur Q d'en-têtes convertit du texte UTF-8 brut en forme Q RFC 2047 utilisée dans les encoded-words MIME des en-têtes d'e-mail non ASCII, et décode ces chaînes en texte lisible. Contrairement au quoted-printable du corps, le Q-encoding d'en-tête mappe chaque espace sur un underscore, interdit les sauts de ligne souples dans un encoded-word, et réserve le point d'interrogation et l'underscore pour que les analyseurs de messagerie ne confondent jamais la charge utile avec le cadre =? charset? Q? …? Vérifications courantes : encoder Hello café en =? UTF-8? Q? Hello_caf=C3=A9? = et décoder cette chaîne vers la phrase d'origine.

Ce qu'est le Q-encoding RFC 2047 et ce que renvoie cet outil

RFC 2047 définit les encoded-words pour que les en-têtes d'e-mail qui attendaient historiquement surtout de l'ASCII puissent encore porter du texte international sans briser les règles de chemin SMTP. Un encoded-word a la forme égal-interrogation charset interrogation encodage interrogation charge interrogation-égal, où la lettre d'encodage est Q pour la méthode de type quoted-printable ou B pour Base64.

La méthode Q garde la plupart du texte latin lisible sur un terminal simple : l'ASCII imprimable sûr apparaît tel quel, l'espace s'écrit de préférence en underscore, et tout autre octet devient un signe égal suivi de deux chiffres hexadécimaux majuscules. Le signe égal, le point d'interrogation et l'underscore doivent être échappés lorsqu'ils apparaissent comme données, car ils sont structurels dans la grammaire de l'encoded-word.

Les sauts de ligne souples du quoted-printable de corps ne s'appliquent pas ici : un encoded-word est un jeton atomique et ne doit pas contenir de séquence de saut souple.

Cette page suit toujours ce contrat pour le texte UTF-8 par défaut : le mode encode mappe votre chaîne en octets du charset, émet un underscore pour l'espace et égal-hex pour les octets non sûrs, puis enveloppe éventuellement la charge en encoded-word complet ; le mode decode accepte un encoded-word complet ou une charge Q nue, développe underscore et paires égal-hex, et rejette les séquences incomplètes ou non hexadécimales au lieu de deviner.

Si vous avez besoin d'un empaquetage binaire opaque pour les en-têtes, préférez la méthode B ou un auxiliaire Base64 ; cette page vise la voie Q lisible que les objets et noms d'affichage utilisent encore chaque jour.

Où l'on croise l'encodage Q dans l'en-tête d'un e-mail

Les développeurs rencontrent le Q-encoding RFC 2047 en inspectant des lignes Subject qui commencent par égal-interrogation UTF-8 interrogation Q, en rédigeant des noms d'affichage internationaux pour les en-têtes From et To, ou en déboguant pourquoi un accent de café est devenu underscore et paires égal-hex dans un dump de message brut. Les équipes frontend et support décodent des extraits Q pendant l'investigation de tickets sans coller des données dans des scripts ad hoc qui gèrent mal l'underscore pour l'espace ou confondent le quoted-printable du corps avec les règles Q d'en-tête.

Les services backend encodent des échantillons de configuration ou de courtes chaînes multilingues avant de les placer dans des champs d'en-tête où un transport 8 bits sans restriction n'est pas garanti. Les ingénieurs qualité génèrent des paires encode et decode déterministes pour des tests de contrat afin qu'une bibliothèque de messagerie prétendant prendre en charge RFC 2047 ne puisse pas changer silencieusement la casse hexadécimale, laisser des espaces non échappés ou accepter des séquences égal cassées.

Les enseignants utilisent le même outil pour expliquer la différence entre les sauts souples du quoted-printable de corps et les atomes Q d'en-tête qui doivent rester sur un seul jeton. Associez-le à des aides MIME quoted-printable lorsque vous travaillez sur des corps plutôt que des en-têtes, et à des aides Base64 lorsqu'un encoded-word B est le bon choix pour des données d'en-tête denses d'apparence binaire.

Débogage de Subject et de nom d'affichage

Encodez ou décodez des fragments Subject et From de nom d'affichage en Q RFC 2047 pour que accents et espaces correspondent à ce que montrent les clients de messagerie.

Préparation d'en-têtes pour passerelles héritées

Transformez du texte UTF-8 brut en jetons d'en-tête codés en Q sûrs pour le transport avant envoi sur des chemins de messagerie 7 bits restreints.

Combien coûte l'encodeur Q d'en-têtes ?

C'est gratuit dans votre navigateur sur cette page.

En quoi le Q-encoding d'en-tête diffère-t-il du quoted-printable de corps ?

Le Q-encoding d'en-tête (RFC 2047) mappe l'espace sur underscore, interdit les sauts de ligne souples dans un encoded-word et traite =, ? et _ comme spéciaux.

Que se passe-t-il si une séquence d'échappement est mal formée ?

Un =XX incomplet, des chiffres non hexadécimaux après = ou des caractères illégaux dans une charge Q sont rejetés plutôt que devinés.

Pourquoi les espaces deviennent-ils des tirets bas ?

Un mot encodé doit rester un seul bloc sans espace dans l'en-tête, donc la méthode Q écrit chaque espace sous forme de tiret bas. Au décodage, chaque tiret bas redevient un espace, et un vrai tiret bas du texte est échappé.

Faut-il choisir l'encodage Q ou B pour un en-tête ?

Choisissez Q quand le texte est surtout en lettres latines, car il reste lisible dans un message brut. B, fondé sur Base64, convient aux données denses qui seraient presque entièrement échappées en Q. Cet outil ne traite que la forme Q.

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/quoted-printable-q

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/quoted-printable-q \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello café"}'
{
  "text": "Hello café"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.quoted_printable_q",
  "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.

Le moteur est entièrement déterministe : la même entrée, mode, charset et form produisent toujours le même résultat, sans appels réseau, sels aléatoires ni raccourcis dépendants de la date. Utilisez-le gratuitement dans le navigateur pour le débogage du courrier et la pratique des en-têtes, ou appelez l'API à $0.002 par requête réussie lorsque les pipelines ont besoin de transformations RFC 2047 reproductibles en CI et services backend.

Ce qu'est le Q-encoding RFC 2047 et ce que renvoie cet outil

La réponse JSON inclut result pour la chaîne transformée, mode qui répète encode ou decode, encoding fixé à rfc2047-q, charset, form (encoded_word ou payload), le champ payload nu pour des assertions faciles, et input_bytes plus output_bytes pour figer les tailles dans les tests. Il n'y a ni chemin de streaming ni réparation silencieuse de texte Q cassé : soit la chaîne est valide, soit la requête échoue avec invalid_input.

Comment text, mode, charset et form sont lus et comment les résultats restent reproductibles

Charset vaut UTF-8 par défaut et est écrit dans l'encoded-word à l'encodage ; lors du décodage d'un encoded-word complet le charset est pris du jeton lui-même, et lors du décodage d'une charge nue le paramètre charset choisit comment les octets récupérés deviennent du texte. charset? Q? …? Encode accepte des chaînes Unicode, les convertit avec les règles du charset choisi, puis émet des jetons Q avec échappements hexadécimaux majuscules et underscore pour chaque espace. Après récupération des octets, un décodage UTF-8 fatal garantit que des déchets binaires ne deviennent pas du mojibake lorsque le charset est UTF-8. Le champ de charge préféré est text, avec les alias input, value et s, afin que formulaires, chaînes de requête et clients SDK réutilisent le même contrat sans renommer les colonnes. Mode vaut encode par défaut et accepte decode explicitement ; les alias op, direction et action mappent vers le même commutateur pour les scripts qui utilisent déjà ces noms. Form vaut encoded_word par défaut pour que encode renvoie une chaîne complète =? = prête pour un fragment Subject ou From de nom d'affichage ; définissez form à payload lorsque vous ne voulez que le corps Q interne pour des tests unitaires ou pour composer vous-même des en-têtes multi-segments. Decode exige une chaîne Q bien formée : un égal seul en fin d'entrée, un égal suivi d'un seul caractère, ou un égal suivi de chiffres non hexadécimaux échouent avec un message invalid_input clair nommant l'échappement mal formé. Associez l'exécution gratuite du navigateur sur cette page à l'API tarifée lorsque vous avez besoin du résultat mathématique identique dans un pipeline automatisé sans réimplémenter vous-même les tables RFC 2047. Les entrées invalides renvoient invalid_input et ne sont pas facturées, ce qui maintient la validation peu coûteuse tandis que les transformations réussies restent un prix fixe par élément de $0.002.

Où le Q-encoding s'inscrit dans les en-têtes d'e-mail, MIME et les fixtures de test

Sur cette page le travail s'exécute entièrement dans votre navigateur ; via l'API chaque consultation réussie coûte $0.002, la validation échouée n'est pas facturée, et rien n'est stocké après la réponse. Cette répartition — exploration interactive gratuite et API tarifée au résultat identique — correspond au reste du catalogue KIT niveau A et vous permet de passer d'une démo de cours à un pipeline automatisé sans changer le résultat encodé.

Génération de fixtures d'en-têtes de courrier

Produisez des encoded-words reproductibles pour tests unitaires, fichiers golden et contrôles d'intégration SMTP ou IMAP qui affirment la forme de l'en-tête.

Quels modes et formes sont pris en charge ?

mode=encode (par défaut) transforme le texte brut en Q-encoding ; mode=decode transforme une chaîne Q en texte. form=encoded_word (par défaut à l'encodage) enveloppe en =?charset?Q?payload?= ; form=payload renvoie seulement le corps Q interne.

Le résultat est-il déterministe ?

Oui. Le même text, mode, charset et form produisent toujours le même résultat, sans réseau, aléatoire ni comportement dépendant de la date.

Consulter la documentation complète du KIT →