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

Décodeur UTF-8

Le Décodeur UTF-8 de Qodex vous permet de convertir des chaînes hexadécimales encodées en UTF-8 en texte lisible. Cet outil est particulièrement utile pour déboguer des journaux encodés, analyser des paquets de communication et interpréter des données binaires.


Pour encoder du texte lisible en hexadécimal UTF-8, essayez notre Encodeur UTF-8. Vous pouvez également explorer notre Décodeur Base64 et notre Décodeur URL si vos données sont encodées différemment.

Décodeur UTF-8 - Documentation

Qu'est-ce que le décodage UTF-8 ?

Le décodage UTF-8 est le processus de conversion d'une séquence d'octets hexadécimaux (encodés en UTF-8) en texte lisible par un humain.

UTF-8 (Unicode Transformation Format - 8 bits) est le format d'encodage de caractères le plus largement utilisé sur le web. Chaque symbole, lettre, emoji ou chiffre en UTF-8 a une représentation binaire ou hexadécimale unique.

Le Décodeur UTF-8 de Qodex vous aide à inverser cet encodage : en collant une chaîne hexadécimale UTF-8 comme 48 65 6c 6c 6f, vous verrez la version lisible : Hello.

Comment fonctionne le décodage UTF-8 ?

UTF-8 est un format d'encodage binaire à longueur variable utilisé pour représenter du texte dans les systèmes numériques. Chaque caractère, qu'il s'agisse d'une simple lettre comme A ou d'un symbole spécial comme , a un point de code Unicode correspondant, qui est encodé en octets selon les règles UTF-8.

Étape par étape :

  1. Vous fournissez une séquence d'octets hexadécimaux (comme 48 65 6C 6C 6F)

  2. Chaque paire de caractères hexadécimaux représente 1 octet (8 bits)

  3. Le décodeur convertit l'hexadécimal en binaire, groupe les octets selon les règles UTF-8 et les associe à leurs caractères Unicode correspondants

  4. Vous obtenez la sortie décodée sous forme de texte lisible

Exemple :

Hex: 48 65 6C 6C 6F
Binary: 01001000 01100101 01101100 01101100 01101111
UTF-8 Mapping: ['H', 'e', 'l', 'l', 'o']
Output: Hello

UTF-8 est à longueur variable :

  • Caractères ASCII = 1 octet

  • Symboles latins/grecs = 2 octets

  • La plupart des caractères CJK = 3 octets

  • Emojis et scripts rares = 4 octets

Table de référence de décodage UTF-8

Utilisez cette référence pour identifier rapidement les séquences hexadécimales UTF-8 courantes et leurs caractères décodés :

Caractère

Description

Point de code

UTF-8 Hex

Octets

A

Lettre majuscule latine A

U+0041

41

1

a

Lettre minuscule latine a

U+0061

61

1

0

Chiffre zéro

U+0030

30

1

(espace)

Caractère espace

U+0020

20

1

©

Signe copyright

U+00A9

C2 A9

2

é

Lettre minuscule e avec accent aigu

U+00E9

C3 A9

2

ü

Lettre minuscule u avec tréma

U+00FC

C3 BC

2

Signe euro

U+20AC

E2 82 AC

3

Coche

U+2713

E2 9C 93

3

Coche lourde

U+2714

E2 9C 94

3

CJK "milieu"

U+4E2D

E4 B8 AD

3

𝄞

Symbole musical clé de sol

U+1D11E

F0 9D 84 9E

4

🚀

Emoji fusée

U+1F680

F0 9F 9A 80

4

Règles de structure des octets UTF-8

Nombre d'octets

Octet 1

Octet 2

Octet 3

Octet 4

1 octet (ASCII)

0xxxxxxx

-

-

-

2 octets

110xxxxx

10xxxxxx

-

-

3 octets

1110xxxx

10xxxxxx

10xxxxxx

-

4 octets

11110xxx

10xxxxxx

10xxxxxx

10xxxxxx

Exemples pratiques du monde réel

  1. Décodage d'en-têtes d'email encodés


    De nombreux en-têtes d'email sont encodés en UTF-8 pour une transmission sécurisée. Extrayez l'hexadécimal et collez-le ici pour décoder la ligne d'objet réelle.

    Hex Input: 53 75 62 6a 65 63 74 3a 20 57 65 6c 63 6f 6d 65 21
    Decoded: Subject: Welcome!
  2. Analyse des journaux de dispositifs IoT ou d'API


    Les dispositifs stockent souvent des messages texte ou des alertes au format hexadécimal.

    Hex Input: 41 6c 65 72 74 3a 20 e2 9c 94
    Decoded: Alert: ✔
  3. Décodage de signatures de malware ou de données de paquets

    Les analystes en sécurité examinent des vidages mémoire ou des fichiers pcap où les chaînes sont stockées en format hexadécimal.

    Hex: 55 73 65 72 3a 20 61 64 6d 69 6e
    Output: User: admin

Décodage UTF-8 dans plusieurs langages de programmation

Python : bytes.decode('utf-8')

# Decode UTF-8 bytes to string
encoded = b'\xc3\xa9\xc3\xa0\xc3\xbc'
decoded = encoded.decode('utf-8')
print(decoded)  # Output: eaue with accents

Decode hex string to text

hex_string = "48 65 6c 6c 6f" byte_data = bytes.fromhex(hex_string.replace(" ", "")) text = byte_data.decode('utf-8') print(text) # Output: Hello

Handle errors gracefully

bad_bytes = b'\xff\xfe' safe = bad_bytes.decode('utf-8', errors='replace') print(safe) # Output: (replacement characters)

JavaScript : TextDecoder

// Decode a Uint8Array of UTF-8 bytes
const decoder = new TextDecoder('utf-8');
const bytes = new Uint8Array([0x48, 0x65, 0x6C, 0x6C, 0x6F]);
console.log(decoder.decode(bytes)); // Output: Hello

// Decode hex string to text function hexToUtf8(hex) { const bytes = hex.split(' ').map(h => parseInt(h, 16)); return new TextDecoder('utf-8').decode(new Uint8Array(bytes)); } console.log(hexToUtf8('E2 9C 94')); // Output: ✔

// Handling streaming data const stream = new TextDecoderStream('utf-8'); // Pipe a ReadableStream of bytes through it

PHP : mb_detect_encoding() et conversion hexadécimale

// Decode hex to UTF-8 string
$hex = "48 65 6c 6c 6f";
$bytes = hex2bin(str_replace(' ', '', $hex));
echo $bytes; // Output: Hello

// Detect if a string is valid UTF-8 $text = "Caf\xc3\xa9"; if (mb_detect_encoding($text, 'UTF-8', true)) { echo "Valid UTF-8"; } else { echo "Not valid UTF-8"; }

// Convert from other encodings to UTF-8 $iso_text = mb_convert_encoding($text, 'UTF-8', 'ISO-8859-1');

Java : new String(bytes, StandardCharsets.UTF_8)

import java.nio.charset.StandardCharsets;

// Decode byte array to string byte[] utf8Bytes = {0x48, 0x65, 0x6C, 0x6C, 0x6F}; String decoded = new String(utf8Bytes, StandardCharsets.UTF_8); System.out.println(decoded); // Output: Hello

// Decode hex string String hex = "E2 9C 94"; String[] hexParts = hex.split(" "); byte[] bytes = new byte[hexParts.length]; for (int i = 0; i < hexParts.length; i++) { bytes[i] = (byte) Integer.parseInt(hexParts[i], 16); } System.out.println(new String(bytes, StandardCharsets.UTF_8)); // ✔

Comment fonctionne cet outil

  1. Collez la chaîne hexadécimale UTF-8 (par exemple 48 65 6c 6c 6f) dans le champ de saisie.

  2. Cliquez sur Décoder.

  3. L'outil convertit instantanément les octets en texte lisible comme Hello.

Tout le décodage s'effectue côté client dans votre navigateur. Aucune donnée n'est envoyée à un serveur, ce qui le rend totalement sécurisé pour les données sensibles.

Fonctionnalités de l'outil

  • Décodage hexadécimal UTF-8 en texte brut

  • Accepte l'hexadécimal avec ou sans espaces (E2 9C 94 ou E29C94)

  • Décodage instantané côté client, sécurisé et utilisable hors ligne

  • Prend en charge les caractères multi-octets, les emojis et les scripts internationaux

  • Utile pour déboguer les API encodées, les champs de base de données, les journaux ou les échantillons de malware

Cas d'utilisation

  • Sécurité et forensique : décodez les charges utiles hexadécimales dans des captures de paquets ou des vidages mémoire

  • Récupération de base de données : corrigez l'UTF-8 malformé dans des enregistrements corrompus

  • Débogage de programmation : interprétez les réponses API ou les journaux contenant du texte encodé

  • Développement web : décodez les caractères encodés dans HTML, CSS ou des URL

  • QA de localisation : vérifiez l'encodage brut du texte multilingue

Combiner avec ces outils

  • Encodeur UTF-8 -- convertissez du texte en octets UTF-8 au format hexadécimal

  • Décodeur Base64 -- décodez des chaînes base64 en hexadécimal brut avant le décodage UTF-8

  • Décodeur URL -- décodez %E2%9C%94 et autres séquences URL sécurisées

Conseils pratiques

  • Si votre texte contient %E2%9C%94, utilisez d'abord un Décodeur URL, puis cet outil.

  • Les emojis et les caractères en langue étrangère utilisent généralement des séquences UTF-8 de 3 à 4 octets.

  • Surveillez les séquences d'octets invalides : si le décodeur échoue, vérifiez l'espacement ou les données corrompues.

  • Utilisez ce décodeur pour comprendre comment votre application ou navigateur traite les données UTF-8 en coulisses.

  • Lors du débogage du mojibake, essayez d'abord de décoder le texte altéré en Latin-1, puis de ré-encoder en UTF-8.

Frequently Asked Questions

Que se passe-t-il si je saisit des octets UTF-8 invalides ?

L'outil ignorera ou signalera ces octets comme des caractères non décodables, en affichant généralement le caractère de remplacement Unicode (U+FFFD).

Puis-je l'utiliser pour des encodages non UTF-8 comme ISO-8859-1 ?

Non, cet outil ne fonctionne que pour les flux d'octets encodés en UTF-8 valide. Pour d'autres encodages, convertissez d'abord en UTF-8 en utilisant une fonction spécifique au langage comme le module codecs de Python ou mb_convert_encoding() de PHP.

Est-ce sécurisé pour des données sensibles ?

Oui, tout le décodage est effectué dans le navigateur en JavaScript. Aucune donnée n'est envoyée à un serveur.

Pourquoi certains caractères s'affichent-ils comme des caractères de remplacement ?

Cela indique un pattern d'octets invalide ou non reconnu en UTF-8. Les causes courantes incluent des séquences multi-octets tronquées, des octets d'un encodage différent (comme Latin-1) ou des données corrompues.

Puis-je décoder des emojis ou des caractères non anglais ?

Absolument. UTF-8 est entièrement capable de décoder des caractères de toutes les langues et des ensembles d'emojis. Les emojis utilisent généralement des séquences de 4 octets (commençant par F0), tandis que les caractères CJK utilisent des séquences de 3 octets.

Qu'est-ce qui cause le mojibake et comment le corriger ?

Le mojibake (texte altéré comme "Café" au lieu de "Café") se produit lorsque du texte encodé dans un jeu de caractères est décodé avec un autre. La cause la plus courante est le texte UTF-8 interprété comme Latin-1 ou Windows-1252. Pour le corriger : identifiez l'encodage d'origine, décodez les octets avec cet encodage, puis ré-encodez en UTF-8. En Python : text.encode("latin-1").decode("utf-8").

Comment détecter si une chaîne est encodée en UTF-8 ?

Recherchez les patterns d'octets UTF-8 : les octets simples commencent par 0, les séquences de deux octets commencent par 110, trois octets par 1110 et quatre octets par 11110. Les octets de continuation commencent toujours par 10. En code, utilisez mb_detect_encoding($str, "UTF-8", true) en PHP, ou essayez de décoder avec errors="strict" en Python. Si le décodage réussit sans erreur, c'est un UTF-8 valide.

Quelle est la différence entre UTF-8 et UTF-16 ?

Les deux sont des encodages Unicode mais utilisent différentes stratégies d'octets. UTF-8 utilise 1 à 4 octets par caractère et est rétrocompatible avec ASCII (le texte anglais n'utilise qu'1 octet par caractère). UTF-16 utilise 2 ou 4 octets par caractère, ce qui le rend plus compact pour les textes riches en caractères CJK mais moins efficace pour les contenus dominés par ASCII. UTF-8 est le standard web (utilisé par plus de 98% des sites), tandis que UTF-16 est courant dans les systèmes internes de Java et Windows.

Testez vos API dès aujourd'hui !

Rédigez en français courant, Qodex génère des tests sécurisés et prêts à l'emploi.