Convertisseur Unicode — points de code et octets UTF-8
Passer d’un texte aux points de code Unicode, échappements et octets UTF-8, et inversement
Traitement dans le navigateur · aucun envoi de fichier
8 caractères visibles · 8 points de code · longueur UTF-16 9
Résultats
Points de code (U+XXXX)
U+0043 U+0061 U+0066 U+00E9 U+0020 U+1F600 U+0020 U+D55C
JavaScript / JSON (\uXXXX)
Caf\u00E9 \uD83D\uDE00 \uD55C
ES6 (\u{...})
Caf\u{E9} \u{1F600} \u{D55C}
HTML hexadécimal (&#x...;)
Café 😀 한
HTML décimal (&#...;)
Café 😀 한
Octets UTF-8 (hex)
43 61 66 C3 A9 20 F0 9F 98 80 20 ED 95 9C
Octets UTF-16BE (hex)
00 43 00 61 00 66 00 E9 00 20 D8 3D DE 00 00 20 D5 5C
Octets par encodage
- UTF-8
- 14 octets
- UTF-16
- 18 octets
- EUC-KR (CP949)
- 7 octets
- 2 caractères ne peuvent pas être écrits en EUC-KR (non comptés)
L’EUC-KR (CP949) est l’ancien encodage coréen : les 2 350 syllabes hangeul de KS X 1001 et les 8 822 autres syllabes modernes de l’extension CP949 (UHC) occupent toutes 2 octets. En UTF-8, une syllabe hangeul occupe 3 octets et un émoji 4.
Tableau des caractères
| Car. | Point de code | UTF-8 | UTF-16 | Décimal | Car. visible |
|---|---|---|---|---|---|
| C | U+0043 | 43 | 0043 | 67 | 1 |
| a | U+0061 | 61 | 0061 | 97 | 2 |
| f | U+0066 | 66 | 0066 | 102 | 3 |
| é | U+00E9 | C3 A9 | 00E9 | 233 | 4 |
| (invisible) | U+0020 | 20 | 0020 | 32 | 5 |
| 😀 | U+1F600 | F0 9F 98 80 | D83D DE00 | 128512 | 6 |
| (invisible) | U+0020 | 20 | 0020 | 32 | 7 |
| 한 | U+D55C | ED 95 9C | D55C | 54620 | 8 |
Présentation
Tapez un texte et obtenez d’un coup toutes les notations courantes, chacune avec un bouton de copie : points de code Unicode, échappements JavaScript et JSON, forme ES6, références HTML hexadécimales et décimales, et octets bruts UTF-8 et UTF-16BE. Utile pour insérer sans risque du texte non ASCII dans du code source, lire les séquences \uXXXX d’un journal ou comprendre pourquoi un texte s’affiche en caractères illisibles (« é » au lieu de « é »).
L’outil compare aussi le nombre d’octets en UTF-8, en UTF-16 et dans l’ancien encodage coréen EUC-KR (CP949), et liste chaque point de code dans un tableau. Le sens inverse transforme des échappements ou des octets hexadécimaux en texte. Tout se passe dans votre navigateur, rien n’est enregistré.
Mode d’emploi
- Choisissez le sens : Texte → code ou Code → texte.
- Pour Texte → code, tapez dans la zone de texte. L’exemple « Café 😀 한 » est déjà saisi, les résultats s’affichent tout de suite.
- Décochez « Conserver l’ASCII tel quel » pour échapper chaque caractère, pas seulement les caractères non ASCII.
- Copiez le format voulu. La comparaison d’octets et le tableau des caractères se trouvent dessous.
- Pour Code → texte, gardez la détection automatique pour les échappements et les valeurs U+, même mélangés, ou choisissez un format d’octets hexadécimaux pour une liste d’octets.
- Copiez le texte décodé avec son bouton.
Fonctionnement
- Points de code : U+ suivi de chiffres hexadécimaux en majuscules, sur au moins quatre chiffres (U+0041), séparés par des espaces.
- JavaScript / JSON : un
\uXXXXpar unité de code UTF-16, donc tout caractère à partir de U+10000 devient une paire de substitution. La forme ES6 écrit un\u{...}par point de code. - HTML : une référence
&#x…;ou&#…;par point de code. - Conserver l’ASCII tel quel laisse l’ASCII imprimable (U+0020 à U+007E) inchangé, sauf la barre oblique inverse (JavaScript) et & < > “ ’ (HTML), pour que le résultat se décode sans ambiguïté. Les sauts de ligne et tabulations sont toujours échappés.
- UTF-8 : octets produits par le TextEncoder du navigateur. UTF-16 : deux octets par unité de code, octet de poids fort en premier (gros-boutiste).
- EUC-KR (CP949) : une table inverse est construite en décodant chaque paire d’octets (octet de tête 0x81 à 0xFE, octet de queue 0x41 à 0xFE) avec le décodeur EUC-KR du navigateur ; l’ASCII prend un octet. Les 11 172 syllabes de 가 à 힣 prennent deux octets : 2 350 issues de KS X 1001 et 8 822 de l’extension CP949 (UHC), complétée selon la disposition CP949 si un décodeur ne connaît que KS X 1001.
- Caractères visibles : groupes de graphèmes calculés par Intl.Segmenter du navigateur (annexe n° 29 du standard Unicode). Le tableau a une ligne par point de code, signale les caractères composés de plusieurs points de code et affiche les 200 premiers.
- Décodage : les valeurs U+ comptent 4 à 8 chiffres hexadécimaux, et les espaces ou virgules entre elles servent de séparateurs. Les valeurs au-delà de U+10FFFF et les substituts isolés sont signalés avec leur position. En octets, les espaces, virgules, deux-points, traits d’union et préfixes 0x, \x ou % sont ignorés, et un UTF-8 invalide est signalé avec la position de l’octet.
- La saisie est limitée à 20 000 caractères.
Exemples
| Texte | Point de code | JavaScript | Octets UTF-8 | UTF-8 / UTF-16 / EUC-KR |
|---|---|---|---|---|
| A | U+0041 | A (ou A sans « Conserver l’ASCII ») |
41 | 1 / 2 / 1 octet(s) |
| é | U+00E9 | é |
C3 A9 | 2 / 2 / non encodable |
| 中 | U+4E2D | 中 |
E4 B8 AD | 3 / 2 / 2 octets |
| 한 | U+D55C | 한 |
ED 95 9C | 3 / 2 / 2 octets |
| 😀 | U+1F600 | 😀 |
F0 9F 98 80 | 4 / 4 / non encodable |
L’exemple par défaut « Café 😀 한 » compte 8 caractères visibles, 8 points de code et une longueur UTF-16 de 9. Il occupe 14 octets en UTF-8, 18 en UTF-16 et 7 en EUC-KR, où é et l’emoji ne peuvent pas être représentés.
Dans l’autre sens, la détection automatique transforme Café 😀 U+D55C en « Café 😀 한 », et les octets UTF-8 43 61 66 C3 A9 se décodent en « Café ».
Questions fréquentes
Quelle différence entre point de code et encodage ?
Le point de code est le numéro qu’Unicode attribue à un caractère, par exemple U+00E9 pour é. L’encodage est la façon de stocker ce numéro en octets. Le même é s’écrit C3 A9 en UTF-8 et 00 E9 en UTF-16 ; la syllabe coréenne 한 (U+D55C) donne ED 95 9C en UTF-8 mais C7 D1 dans l’ancien encodage coréen EUC-KR.
Pourquoi un emoji devient-il deux échappements \uXXXX ?
Les chaînes JavaScript et JSON sont des suites d’unités de code UTF-16. Les caractères au-delà de U+FFFF ont besoin de deux unités, appelées paire de substitution : 😀 (U+1F600) s’écrit donc 😀. La forme ES6 \u{1F600} désigne directement le point de code et n’a besoin que d’un échappement.
Pourquoi un seul emoji compte-t-il plusieurs points de code ?
Beaucoup d’emoji sont des séquences. L’emoji famille réunit trois emoji de personnes liés par deux liants sans chasse (U+200D) ; c’est un seul caractère visible, mais cinq points de code, huit unités UTF-16 et 18 octets UTF-8. Les teints, les drapeaux et les lettres accentuées décomposées (e + accent combinant) fonctionnent de la même façon, d’où les trois comptes dans le résumé.
Que signifie « impossible à écrire en EUC-KR » ?
EUC-KR (CP949) est un ancien encodage coréen qui couvre le hangeul, les hanja et une série de symboles, mais pas les emoji ni des lettres comme é. Ces caractères sont exclus du total d’octets EUC-KR et comptés à part. Si votre navigateur n’a pas de décodeur EUC-KR, ce chiffre est masqué.
Mon texte est-il envoyé quelque part ?
Non. Toutes les conversions ont lieu dans votre navigateur, et rien de ce que vous tapez n’est enregistré ni envoyé.