Mot encodé MIME B
Hello café devient =?UTF-8?B?SGVsbG8gY2Fmw6k=?=, un mot encodé RFC 2047 qui transporte l'accent sans dommage dans l'objet ou l'expéditeur d'un e-mail, comme Subject ou From. Le décodage remet ces jetons en texte lisible. 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 café
- Mode de calcul
- Encode
- Résultat
- =?UTF-8?B?SGVsbG8gY2Fmw6k=?=
- Encodage
- mime-b
- Jeu de caractères
- UTF-8
- Nombre de mots codés
- 1
Ce convertisseur de mots encodés MIME B enveloppe du texte UTF-8 brut en mots encodés RFC 2047 de la forme égal-point-d'interrogation charset point-d'interrogation B point-d'interrogation Base64 point-d'interrogation-égal, et les développe de nouveau en texte lisible. Les clients de messagerie, les pipelines SMTP et les passerelles héritées s'appuient encore sur l'encodage B lorsqu'un Subject, un nom d'affichage From ou un autre en-tête doit transporter des caractères non ASCII sans enfreindre les règles de transport 7 bits. Choisissez encode pour transformer une phrase telle que Hello café en un unique jeton B UTF-8, ou decode pour récupérer la chaîne d'origine à partir d'un fragment d'en-tête que vous détenez déjà. Le moteur est entièrement déterministe : le même texte, mode et charset produisent toujours le même résultat, sans appels réseau, sans sels aléatoires et sans raccourcis dépendants de la date.
Qu'est-ce qu'un mot encodé MIME B et que renvoie cet outil
RFC 2047 définit la syntaxe du mot encodé afin que les champs d'en-tête non structurés puissent porter du texte international sans violer d'anciennes restrictions de messagerie. Un mot encodé B commence par égal-point-d'interrogation, nomme un charset, utilise la lettre B pour marquer le transfert de contenu Base64, porte le Base64 des octets encodés dans ce charset et se termine par point-d'interrogation-égal.
Les mots encodés adjacents peuvent être séparés par des espaces linéaires pour que les phrases longues restent sous la limite classique de soixante-quinze caractères par jeton tout en se décodant en une seule chaîne continue. Cette page suit toujours ce contrat uniquement B pour le texte UTF-8 : le mode encode convertit votre chaîne avec un encodeur UTF-8, encode les octets en Base64 avec remplissage standard, les enveloppe en égal-point-d'interrogation UTF-8 point-d'interrogation B point-d'interrogation charge point-d'interrogation-égal et les découpe en plusieurs jetons lorsqu'un seul mot dépasserait soixante-quinze caractères.
Le mode decode exige que l'entrée se compose d'un ou plusieurs jetons B complets séparés uniquement par des espaces ou des sauts de ligne ; il rejette les jetons d'encodage Q, les fragments incomplets d'égal-point-d'interrogation, les déchets non blancs hors des jetons et le Base64 invalide dans la charge. Si vous avez besoin d'un encodage de transfert de corps plutôt que de jetons d'en-tête, préférez quoted-printable ou des points d'accès Base64 simples ; cette page vise spécifiquement les mots encodés B étiquetés par charset dans les en-têtes d'e-mail.
Où les mots encodés MIME B s'insèrent dans les en-têtes, le débogage et les tests
Les développeurs rencontrent l'encodage B en inspectant des lignes Subject marquées de charges égal-point-d'interrogation UTF-8 point-d'interrogation B point-d'interrogation, en rédigeant des noms d'affichage internationaux pour les en-têtes From ou To, ou en déboguant pourquoi un accent de café est devenu un jeton Base64 opaque dans un dump de message brut. Les équipes frontend et support décodent des extraits d'en-tête pendant l'investigation de tickets sans coller de données dans des scripts ad hoc qui gèrent mal les découpages multi-mots ou oublient le point-d'interrogation-égal final.
Les services backend encodent des échantillons de configuration ou de courtes chaînes multilingues avant de les placer dans des en-têtes MIME où un transport 8 bits propre 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 les règles de remplissage Base64 ni supprimer les espaces entre mots encodés adjacents.
Les enseignants utilisent le même outil pour expliquer la différence entre les encodages de transfert de corps tels que quoted-printable et les mots encodés spécifiques aux en-têtes qui portent une étiquette de charset explicite. Associez-le aux aides quoted-printable et Base64 simples lorsque vous construisez un petit laboratoire d'encodeurs MIME et texte gratuits et déterministes pour le courrier et l'interopérabilité.
Cas d’usage
Débogage de sujets d'e-mail
Encodez ou décodez des jetons B RFC 2047 issus d'en-têtes Subject ou From bruts afin que accents et découpages multi-mots correspondent à l'affichage des clients de messagerie.
Préparation d'en-têtes internationaux
Transformez des noms d'affichage et des phrases de sujet UTF-8 en mots encodés MIME B sûrs pour le transport avant l'envoi via des passerelles restreintes.
Questions fréquentes
Combien coûte l'outil de mot encodé MIME B ?
Il est gratuit dans votre navigateur sur cette page.
En quoi MIME B diffère-t-il du Base64 simple ?
Le Base64 simple n'est que la charge de l'alphabet. MIME B ajoute l'enveloppe RFC 2047 =? charset? B?...? = pour que les en-têtes de messagerie portent le charset et le texte Base64 dans un seul jeton.
Que se passe-t-il si la syntaxe du mot encodé est mal formée ?
Jetons incomplets, encodage Q, Base64 invalide, charset vide ou déchets hors jetons sont rejetés plutôt que devinés.
Le résultat est-il déterministe ?
Oui. Le même texte, mode et charset produisent toujours le même résultat sans réseau, aléatoire ni comportement dépendant de la date.
Pourquoi un objet long est-il coupé en plusieurs mots encodés ?
Parce que chaque mot encodé est limité à soixante-quinze caractères : un texte plus long est découpé en plusieurs morceaux séparés par des espaces. Au décodage, les morceaux voisins se recollent en une seule chaîne et le lecteur voit un objet unique.
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/mime-b-encoding \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello café"}'const res = await fetch("https://api.kit.forhosting.com/enc/mime-b-encoding", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/mime-b-encoding",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/mime-b-encoding", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/mime-b-encoding", 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 café"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.mime_b_encoding",
"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.
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
Les jetons mal formés—terminateurs manquants, encodage Q mélangé à une requête uniquement B ou Base64 invalide—échouent avec invalid_input au lieu de deviner. Utilisez-le gratuitement dans le navigateur pour déboguer le courrier et pratiquer MIME, ou appelez l'API à $0.002 par requête réussie lorsque la CI et les services backend ont besoin de transformations de mots encodés reproductibles.
Qu'est-ce qu'un mot encodé MIME B et 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é à mime-b, charset indiquant UTF-8, encoded_word_count pour le nombre de jetons produits ou consommés, ainsi que input_bytes et output_bytes afin que les tests puissent affirmer les tailles. Il n'y a pas de réparation silencieuse : soit la chaîne est une syntaxe MIME B valide pour cet outil, soit la requête échoue avec invalid_input.
Comment text, mode et charset sont lus et comment les résultats restent reproductibles
Encode accepte toute chaîne Unicode, la convertit avec le TextEncoder de la plateforme en octets UTF-8, émet du Base64 standard avec remplissage et construit un ou plusieurs mots encodés qui ne dépassent jamais soixante-quinze caractères. Après récupération des octets, un décodage UTF-8 fatal garantit que les déchets binaires ne deviennent pas du texte mojibake. 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 correspondent au même commutateur pour les scripts qui utilisent déjà ces noms. Charset est optionnel en encode, vaut UTF-8 par défaut, et seul UTF-8 est accepté pour la charge d'octets—des alias comme utf8 se normalisent en étiquette canonique UTF-8 écrite dans le jeton. Decode exige des jetons B bien formés : un égal-point-d'interrogation UTF-8 point-d'interrogation B point-d'interrogation SGVsbG8 tronqué sans le point-d'interrogation-égal final, un jeton encodé en Q, un charset vide ou des déchets Base64 échouent avec un message invalid_input clair nommant la syntaxe de mot encodé mal formée. Associez l'exécution gratuite dans le navigateur de 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 de RFC 2047. Les entrées invalides renvoient invalid_input et ne sont pas facturées, ce qui maintient la validation bon marché tandis que les transformations réussies restent à un prix fixe par élément de $0.002.
Où les mots encodés MIME B s'insèrent dans les en-têtes, le débogage et les tests
Sur cette page le travail s'exécute entièrement dans votre navigateur ; via l'API chaque consultation réussie coûte $0.002, l'échec de validation n'est pas facturé et rien n'est stocké après le retour de la réponse. Cette séparation—exploration interactive gratuite et API tarifée identique—correspond au reste du catalogue KIT tier-A et vous permet de passer d'une démo en classe à un pipeline automatisé sans changer le résultat encodé.
Cas d'intégration
Génération de fixtures MIME
Produisez des chaînes =?UTF-8?B?...?= reproductibles pour tests unitaires, fichiers golden et contrôles d'intégration SMTP ou IMAP.
Questions techniques
Quels modes sont pris en charge ?
mode=encode (par défaut) transforme le texte brut en mots encodés MIME B. mode=decode transforme des jetons B valides en texte UTF-8.