Encodage

Unicode Escape

Encodage et décodage de séquences Unicode — caractères au format \uXXXX et inversement.

A Unicode escape sequence (\uXXXX) writes a character as its code point instead of the character itself — so a string literal in code can contain any Unicode character while the source file itself stays plain ASCII.

How to use it

Common uses

Things to keep in mind

\uXXXX encodes exactly one 16-bit UTF-16 unit, not one visible character — characters outside the Basic Multilingual Plane (most emoji) need two such sequences together (a surrogate pair).

JSON only requires escaping for control characters and a few special characters — escaping every character as \uXXXX isn't required, though it is valid.

Article sur cet outil: Unicode Escape : que signifient les séquences \uXXXX

Questions fréquentes

Que représente une séquence \uXXXX ?

C'est une notation qui encode un caractère par son point de code Unicode en hexadécimal sur 4 chiffres, utilisée notamment en JavaScript, JSON et Java pour représenter des caractères non ASCII dans du code source ou du texte.

Pourquoi certains emojis apparaissent-ils encodés en deux séquences \uXXXX ?

Les caractères situés hors du plan de base Unicode (BMP), comme la plupart des emojis, ne tiennent pas sur 16 bits. Ils sont représentés par une paire de substituts (surrogate pair), soit deux séquences \uXXXX consécutives qui, combinées, désignent un seul caractère.

Mes données sont-elles envoyées sur un serveur ?

Non, l'encodage et le décodage se font entièrement dans le navigateur. Rien n'est transmis à un serveur.

Que se passe-t-il si une paire supplétive est coupée en deux ?

On obtient un caractère « orphelin » invalide — un code isolé sans son équivalent associé. La plupart des analyseurs rejettent une telle chaîne avec une erreur, ou affichent un caractère de remplacement « � ».

Peut-on encoder un emoji avec un seul \uXXXX ?

Non, si l'emoji se situe hors du plan multilingue de base (ce qui est le cas de la plupart des emojis actuels) — il nécessite toujours une paire supplétive composée de deux séquences \uXXXX.

Articles : Encodage

Base64 : à quoi sert l'encodage et comment il fonctionne

Comment Base64 transforme des données binaires en texte ASCII, et quand c'est réellement utile.

Base32 : en quoi il diffère de Base64 et quand il est plus pratique

L'alphabet de Base32, insensible à la casse, et les cas où il est plus pratique que Base64.

URL Encode/Decode : le percent-encoding dans les liens

Comment les caractères spéciaux d'une URL et de ses paramètres deviennent des séquences %XX.

HTML Entities : afficher des caractères spéciaux en toute sécurité

Pourquoi les caractères < > & doivent être échappés, et comment cela évite de casser le balisage.

JWT : structure du token et ce que signifie « décoder » un JWT

Le header, le payload et la signature d'un JWT, et pourquoi décoder n'est pas la même chose que vérifier la signature.

ROT13 et le chiffre de César : une simple substitution de caractères

Pourquoi un décalage de 13 lettres rend ROT13 auto-inverse, et pourquoi on l'utilise encore aujourd'hui.

Punycode : comment les domaines internationalisés fonctionnent dans le DNS

Comment un domaine avec des caractères non latins devient une forme ASCII avec le préfixe xn--.

Le morse : comment le texte devient des points et des traits

Le principe de l'encodage des lettres en points et traits, et où le morse est encore utilisé aujourd'hui.

Data URI : quand intégrer une image directement dans le code

Comment un Data URI intègre le contenu d'un fichier directement en HTML ou CSS, et quand cela en vaut la peine.

Gzip + Base64 : compresser des données pour les transmettre en texte

Pourquoi des données binaires compressées sont aussi encodées en Base64 avant d'être placées dans un champ texte.

XML Entities : échapper les caractères dans les documents XML

Les cinq entités XML obligatoires, sans lesquelles le document se casse à l'analyse.