
Encodeur UTF-8
Convertissez facilement n'importe quel texte en hexadécimal encodé UTF-8 avec l'Encodeur UTF-8 de Qodex. Que vous prépariez des données pour des algorithmes de hachage, déboguiez des flux d'octets ou transmettiez des données multilingues sur des réseaux, cet outil garantit un encodage sûr et précis. Vous pouvez également décoder du texte encodé grâce à notre Décodeur UTF-8 pour une validation aller-retour.
Encodeur UTF-8 - Documentation
Qu'est-ce que l'encodage UTF-8 ?
L'encodage UTF-8 est le processus de conversion de caractères lisibles en séquences d'octets que les ordinateurs peuvent comprendre et stocker. UTF-8 signifie « Unicode Transformation Format - 8 bits » et constitue le système d'encodage le plus répandu sur le web.
Avec l'encodage UTF-8, chaque lettre, chiffre, emoji ou symbole est mappé vers une représentation hexadécimale spécifique. Par exemple, la lettre A devient 41 et l'emoji ✔ devient E2 9C 94.
Table de référence UTF-8
Utilisez cette table pour retrouver les caractères courants et leurs représentations hexadécimales UTF-8 :
Caractère | Description | Point de code | Octets hex UTF-8 | Nombre d'octets |
|---|---|---|---|---|
A | A majuscule latin | U+0041 | 41 | 1 |
Z | Z majuscule latin | U+005A | 5A | 1 |
0 | Chiffre zéro | U+0030 | 30 | 1 |
~ | Tilde | U+007E | 7E | 1 |
© | Signe copyright | U+00A9 | C2 A9 | 2 |
é | e latin avec accent aigu | U+00E9 | C3 A9 | 2 |
ü | u latin avec tréma | U+00FC | C3 BC | 2 |
£ | Signe livre sterling | U+00A3 | C2 A3 | 2 |
€ | Signe euro | U+20AC | E2 82 AC | 3 |
✔ | Coche épaisse | U+2714 | E2 9C 94 | 3 |
中 | CJK « milieu » | U+4E2D | E4 B8 AD | 3 |
界 | CJK « monde/limite » | U+754C | E7 95 8C | 3 |
🚀 | Emoji fusée | U+1F680 | F0 9F 9A 80 | 4 |
𝄞 | Clé de sol musicale | U+1D11E | F0 9D 84 9E | 4 |
UTF-8 vs ASCII et UTF-16
Fonctionnalité | ASCII | UTF-8 | UTF-16 |
|---|---|---|---|
Plage de caractères | 128 caractères (anglais uniquement) | Tout Unicode (1,1M+ caractères) | Tout Unicode |
Octets par caractère | Toujours 1 | 1 à 4 (variable) | 2 ou 4 |
Compatible ASCII | Oui (c'est ASCII) | Oui (rétrocompatible) | Non |
Idéal pour | Systèmes anciens en anglais uniquement | Web, API, la plupart des applications modernes | Internals Java/Windows, textes CJK intensifs |
Utilisation web | En déclin | 98%+ des sites web | Rare sur le web |
Fonctionnement de l'encodage UTF-8 (en coulisses)
UTF-8 utilise différents modèles d'octets selon le point de code Unicode :
Plage Unicode | Octets | Format d'encodage | Exemple |
|---|---|---|---|
U+0000 à U+007F | 1 | 0xxxxxxx | A = 41 |
U+0080 à U+07FF | 2 | 110xxxxx 10xxxxxx | é = C3 A9 |
U+0800 à U+FFFF | 3 | 1110xxxx 10xxxxxx 10xxxxxx | € = E2 82 AC |
U+10000 à U+10FFFF | 4 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | 🚀 = F0 9F 9A 80 |
Flux d'encodage :
Lire chaque caractère de la chaîne d'entrée
Trouver le point de code Unicode (ex. : 'A' = U+0041)
Convertir en binaire et l'ajuster dans la structure UTF-8 correcte selon le nombre d'octets
Produire en hex, valeurs séparées par des espaces (ex. :
41pour 'A')
Exemples pratiques
Exemple 1 : ASCII simple (1 octet)
Entrée : A | Point de code : U+0041 | Hex UTF-8 : 41
Exemple 2 : Latin accentué (2 octets)
Entrée : é | Point de code : U+00E9 | Hex UTF-8 : C3 A9
Exemple 3 : Emoji (4 octets)
Entrée : 🚀 | Point de code : U+1F680 | Hex UTF-8 : F0 9F 9A 80
Exemple 4 : Caractère japonais (3 octets)
Entrée : 界 | Point de code : U+754C | Hex UTF-8 : E7 95 8C
Encodage UTF-8 en PHP, Python et JavaScript
Voici comment gérer l'encodage UTF-8 dans les trois langages de développement web les plus populaires :
PHP
// Encode string to UTF-8 (from another encoding) $text = "Cafe"; $utf8 = mb_convert_encoding($text, 'UTF-8', 'ISO-8859-1');// Get hex representation of UTF-8 bytes $hex = bin2hex("Cafe"); // Output: 436166c3a9
// Check string length in characters vs bytes echo mb_strlen("Cafe", 'UTF-8'); // 4 characters echo strlen("Cafe"); // 5 bytes
// Always use multibyte functions for UTF-8 strings echo mb_strtoupper("cafe", 'UTF-8'); // CAFE
// Pro tip: Set internal encoding globally mb_internal_encoding('UTF-8');
Python
# Encode a string to UTF-8 bytes text = "Cafe" utf8_bytes = text.encode("utf-8") print(utf8_bytes) # b'Caf\xc3\xa9'Get hex representation
hex_string = utf8_bytes.hex() print(hex_string) # 436166c3a9
Encode emoji
rocket = "\U0001F680" print(rocket.encode("utf-8").hex()) # f09f9a80
Read a file with explicit UTF-8 encoding
with open("data.txt", "r", encoding="utf-8") as f: content = f.read()
JavaScript
// Using TextEncoder (modern browsers and Node.js) const encoder = new TextEncoder(); const bytes = encoder.encode("Cafe"); console.log(bytes); // Uint8Array [67, 97, 102, 195, 169]// Convert to hex string const hex = Array.from(bytes) .map(b => b.toString(16).padStart(2, '0')) .join(' '); console.log(hex); // "43 61 66 c3 a9"
// URL-safe encoding (percent-encoded UTF-8) console.log(encodeURIComponent("Cafe")); // Output: Caf%C3%A9
// Encode emoji const rocketBytes = new TextEncoder().encode("\uD83D\uDE80"); console.log(Array.from(rocketBytes).map(b => b.toString(16)).join(' ')); // f0 9f 9a 80
Erreurs courantes d'encodage UTF-8 et comment les corriger
Erreur | Symptôme | Cause | Correction |
|---|---|---|---|
Mojibake | « Cafe » s'affiche « Café » | Octets UTF-8 lus comme Latin-1 | Définir le charset sur UTF-8 dans les en-têtes HTTP et la balise meta HTML |
Caractères de remplacement | Le texte s'affiche « Caf? » | Séquences d'octets invalides | Réencoder les données source en UTF-8 valide |
Double encodage | « Cafe » s'affiche « CafÃ�© » | Texte UTF-8 encodé une seconde fois en UTF-8 | Encoder une seule fois ; vérifier l'encodage existant avant de convertir |
Caractères tronqués | Emojis ou caractères CJK manquants/cassés | Chaîne coupée en pleine séquence (ex. : SUBSTR sur octets) | Utiliser des fonctions compatibles avec les caractères (mb_substr en PHP, pas substr) |
Problèmes de BOM | Caractères supplémentaires en début de fichier | BOM UTF-8 (EF BB BF) ajouté en tête du fichier | Enregistrer les fichiers en « UTF-8 sans BOM » dans votre éditeur |
Corruption en base de données | Caractères corrompus lors du stockage/récupération | Base de données ou connexion non configurée en utf8mb4 | Utiliser le charset |
Garantir un UTF-8 correct dans HTML et les en-têtes HTTP
Pour vous assurer que votre contenu web s'affiche correctement dans tous les navigateurs et pour toutes les langues :
HTML5 : Ajoutez
<meta charset="utf-8">dans la section<head>En-têtes HTTP : Définissez
Content-Type: text/html; charset=utf-8sur votre serveurBase de données : Utilisez le charset
utf8mb4dans MySQL (pas simplementutf8, qui ne supporte que les caractères sur 3 octets)Fichiers : Enregistrez les fichiers source en UTF-8 sans BOM dans votre éditeur
Quand et où utiliser l'encodage UTF-8
API et requêtes web : Transmettre en toute sécurité des données multilingues ou contenant des emojis
Export de données : Stocker des versions fidèles à l'octet près des entrées
Débogage d'encodage : Vérifier si la corruption de texte est due à des erreurs d'encodage
Cryptographie et hachage : Convertir des chaînes en octets pour le hachage (ex. : SHA-256)
Insertion en base de données : Certaines bases de données attendent des chaînes encodées UTF-8 en hex
Combinez avec ces outils
Décodeur UTF-8 -- Reconvertissez le hex encodé en texte lisible
Encodeur Base64 -- Encodez les octets UTF-8 en Base64 pour un transfert sécurisé
Encodeur URL -- Rendez le hex sûr pour les URL dans les communications navigateur
Conseils pro
Les caractères ASCII (A-Z, 0-9, ponctuation) ne prennent qu'un octet ; les emojis ou caractères spéciaux en prennent 2 à 4.
Utilisez cet outil pour vérifier l'intégrité au niveau des octets lors du débogage de communications réseau ou API.
Si un caractère ne s'affiche pas correctement dans d'autres systèmes, encodez-le ici et vérifiez la décomposition en octets.
Copiez la sortie encodée directement dans des en-têtes HTTP, cookies ou tokens si nécessaire.
Testez toujours avec des caractères multi-octets (lettres accentuées, CJK, emojis) pour détecter les problèmes d'encodage tôt.
Frequently Asked Questions
Quels formats d'entrée sont pris en charge ?
Pourquoi certains caractères produisent-ils une sortie plus longue ?
L'outil est-il sécurisé ?
Puis-je encoder des données binaires ?
Combien d'octets un caractère UTF-8 utilise-t-il ?
Qu'est-ce qu'un BOM UTF-8 ?
Quelle est la différence entre l'encodage UTF-8 et l'encodage URL ?
Quel format d'encodage utilise-t-il en interne ?
Related Tools
Related Articles

Testez vos API dès aujourd'hui !
Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'emploi.



