NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Encodeur UTF-8

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 :

  1. Lire chaque caractère de la chaîne d'entrée

  2. Trouver le point de code Unicode (ex. : 'A' = U+0041)

  3. Convertir en binaire et l'ajuster dans la structure UTF-8 correcte selon le nombre d'octets

  4. Produire en hex, valeurs séparées par des espaces (ex. : 41 pour '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 utf8mb4 dans MySQL ; définir le charset de connexion

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-8 sur votre serveur

  • Base de données : Utilisez le charset utf8mb4 dans MySQL (pas simplement utf8, 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 ?

Vous pouvez saisir n'importe quel texte Unicode lisible, y compris les emojis, symboles et scripts de toutes les langues.

Pourquoi certains caractères produisent-ils une sortie plus longue ?

UTF-8 utilise un encodage à longueur variable. Les caractères ASCII (A-Z) utilisent 1 octet, les caractères accentués 2 octets, les caractères CJK et symboles courants 3 octets, et les emojis 4 octets.

L'outil est-il sécurisé ?

Oui, tout l'encodage se fait localement dans votre navigateur via JavaScript. Aucune donnée n'est envoyée à un serveur.

Puis-je encoder des données binaires ?

Cet outil est conçu pour encoder du texte. Utilisez un convertisseur hex ou un encodeur binaire pour les fichiers binaires.

Combien d'octets un caractère UTF-8 utilise-t-il ?

Cela dépend du caractère : ASCII (U+0000-U+007F) utilise 1 octet, Latin/Grec/Cyrillique (U+0080-U+07FF) utilise 2 octets, CJK et la plupart des symboles (U+0800-U+FFFF) utilisent 3 octets, et les emojis et scripts rares (U+10000-U+10FFFF) utilisent 4 octets. Le maximum est de 4 octets par caractère.

Qu'est-ce qu'un BOM UTF-8 ?

BOM signifie Byte Order Mark. En UTF-8, il s'agit de la séquence de 3 octets EF BB BF placée en début de fichier. Contrairement à UTF-16, UTF-8 n'a pas besoin de BOM car son ordre d'octets est toujours le même. Cependant, certains programmes Windows (comme Notepad) l'ajoutent automatiquement. Le BOM peut causer des problèmes avec les scripts PHP, l'analyse CSV et les scripts shell. Bonne pratique : enregistrez les fichiers en « UTF-8 sans BOM » dans votre éditeur de texte.

Quelle est la différence entre l'encodage UTF-8 et l'encodage URL ?

L'encodage UTF-8 convertit les caractères texte en séquences d'octets brutes (ex. : le signe euro devient E2 82 AC). L'encodage URL (encodage pourcent) prend ces octets UTF-8 et les encadre chacun d'un signe pourcent pour une utilisation sûre dans les URL (ex. : le signe euro devient %E2%82%AC). L'encodage URL s'appuie sur UTF-8 : d'abord le caractère est encodé en UTF-8, puis chaque octet est encodé en pourcent.

Quel format d'encodage utilise-t-il en interne ?

Il utilise le standard UTF-8 défini par le Consortium Unicode (RFC 3629). C'est le même encodage utilisé par plus de 98% des sites web dans le monde.

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.