Enkode
Unicode Escape
Encode dan decode urutan Unicode — karakter dalam format \uXXXX dan sebaliknya.
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
- Encode: paste text and every non-ASCII character gets replaced with its matching \uXXXX sequence.
- Decode: paste a string containing \uXXXX sequences to get plain, readable text back.
- Characters outside the Basic Multilingual Plane (most emoji) are encoded as a surrogate pair of two sequences.
Common uses
- Reading JSON or JS code where non-ASCII text was pre-escaped into \uXXXX for compatibility.
- Inserting a character that's not on the keyboard into code via an explicit Unicode escape.
- Debugging why a string with an emoji shows up as two odd characters — recognizing a surrogate pair.
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.
Artikel tentang alat ini: Unicode Escape: arti urutan \uXXXX
Pertanyaan yang sering diajukan
Apa itu format escape \uXXXX?
Format \uXXXX menuliskan sebuah karakter lewat kode heksadesimal code point Unicode-nya, empat digit. Format ini umum dipakai di JSON, JavaScript, dan bahasa pemrograman lain saat karakter tidak bisa atau tidak nyaman ditulis langsung.
Kenapa emoji atau karakter tertentu di-encode jadi dua urutan \uXXXX?
Karakter di luar Basic Multilingual Plane (BMP), seperti sebagian besar emoji, tidak muat dalam satu unit \uXXXX 16-bit. Karakter ini direpresentasikan sebagai pasangan surrogate (surrogate pair), yaitu dua urutan \uXXXX yang harus dibaca bersama sebagai satu karakter.
Apa bedanya mode Non-ASCII dan Semua karakter?
Mode Non-ASCII hanya meng-escape karakter di luar rentang ASCII dasar, sehingga huruf dan simbol umum tetap terbaca apa adanya. Mode Semua karakter meng-escape setiap karakter, termasuk huruf ASCII biasa, menjadi bentuk \uXXXX.
Apa yang terjadi jika surrogate pair terpecah menjadi dua?
Hasilnya adalah karakter "yatim" yang tidak valid — sebuah kode sendirian tanpa pasangannya. Sebagian besar parser akan menolak string tersebut dengan error, atau menampilkan karakter pengganti "�".
Bisakah karakter emoji di-encode dengan satu \uXXXX saja?
Tidak, jika emoji tersebut berada di luar Basic Multilingual Plane (dan sebagian besar emoji modern memang demikian) — untuk itu selalu dibutuhkan surrogate pair dari dua urutan \uXXXX.