Dekoder Unicode

Konversi antara escape Unicode dan teks, cari code point, dan perbaiki teks kacau (mojibake). Mendukung \uXXXX, \UXXXXXXXX, dan entitas &#XXXX;. Semua pemrosesan di browser Anda.

Encode & Decode Info Karakter Pemrosesan di Sisi Klien
Hasil akan muncul di sini...

Cara Menggunakan Dekoder Unicode

1

Pilih Mode

Pilih mode Decode (escape ke teks) atau Encode (teks ke escape).

2

Masukkan Input

Tempel escape Unicode atau teks biasa sesuai mode.

3

Konversi

Klik Konversi dan tinjau hasil serta detail karakter.

Apa Itu Encoding Unicode?

Encoding Unicode memungkinkan karakter dari bahasa atau sistem simbol mana pun direpresentasikan dalam format berbeda. Format umum meliputi \uXXXX (JavaScript/JSON), &#NNNNN; (entitas HTML), dan U+XXXX (code point Unicode). Encoding ini memastikan teks dapat dikirim dan ditampilkan dengan aman lintas sistem.

Format Encoding

JavaScript (\uXXXX)

Dipakai dalam string JSON dan JavaScript

Entitas HTML (&#XXXX;)

Dipakai dalam HTML untuk merepresentasikan karakter khusus

Escape CSS (\XXXXXX)

Dipakai dalam content dan identifier CSS

Perbaiki Teks Kacau (Perbaikan Mojibake)

Teks kacau (disebut juga mojibake) muncul saat teks yang dienkode dengan satu set karakter didekode dengan set lain. Kasus paling umum: byte UTF-8 dibaca sebagai Windows-1252 atau Latin-1, mengubah "café" menjadi "café" dan "张三" menjadi "å¼ ä¸‰". Beralihlah ke mode Perbaiki Teks Kacau di atas, tempel teks yang rusak, dan dekoder akan merekonstruksi karakter asli dengan memperlakukan tiap karakter sebagai byte mentah lalu mendekode ulang hasilnya sebagai UTF-8.

Contoh Teks Kacau yang Umum

Kacau Diperbaiki Penyebab
café café UTF-8 → Latin-1
å¼ ä¸‰ 张三 UTF-8 → Latin-1
“hi†“hi” UTF-8 → double-encoded
ü ö ñ ü ö ñ UTF-8 → Windows-1252
�� � � byte sudah hilang (U+FFFD)

Untuk mencegah mojibake di aplikasi Anda sendiri, selalu deklarasikan encoding secara eksplisit: layani HTML dengan <meta charset="UTF-8">, setel header HTTP seperti Content-Type: text/html; charset=utf-8, dan gunakan UTF-8 secara konsisten di database dan koneksi.

Perbandingan UTF-8 vs UTF-16 vs UTF-32

UTF-8 UTF-16 UTF-32
Unit encoding 8 bit 16 bit 32 bit
A (U+0041) 41 00 41 00 00 00 41
é (U+00E9) C3 A9 00 E9 00 00 00 E9
中 (U+4E2D) E4 B8 AD 4E 2D 00 00 4E 2D
🎉 (U+1F389) F0 9F 8E 89 D8 3C DF 89 00 01 F3 89
Paling cocok untuk Web, JSON, API — kompatibel ASCII dan ringkas Teks dalam memori di Java, JavaScript, C# Akses code point langsung, jarang dipakai

Code Point Unicode Umum

Referensi cepat untuk karakter yang sering dicari: tanda baca, simbol mata uang, huruf beraksen, dan tanda matematika, beserta code point U+XXXX mereka.

Tanda Baca & Simbol

“U+201C ”U+201D ‘U+2018 ’U+2019
–U+2013 —U+2014 …U+2026  U+A0
©U+A9 ®U+AE ™U+2122 °U+B0

Tanda Mata Uang

€U+20AC £U+A3 ¥U+A5 ₹U+20B9
¢U+A2 ₽U+20BD ₩U+20A9 ฿U+E3F

Huruf Beraksen

éU+E9 èU+E8 êU+EA üU+FC
öU+F6 ñU+F1 åU+E5 øU+F8
çU+E7 ßU+DF ąU+105 žU+17E

Matematika & Panah

±U+B1 ×U+D7 ÷U+F7 ≈U+2248
≠U+2260 ≤U+2264 ≥U+2265 →U+2192
∞U+221E ∑U+2211 √U+221A µU+B5

Pertanyaan Umum

Format escape Unicode apa saja yang didukung?

Tool ini mendukung \uXXXX (BMP), \UXXXXXXXX (Unicode penuh), &#DDDD; (entitas HTML desimal), &#xHHHH; (entitas HTML heksadesimal), dan U+XXXX (notasi code point) untuk dekoding.

Bagaimana encoding UTF-8 bekerja?

UTF-8 mengenkode setiap code point Unicode dengan 1 sampai 4 byte. Karakter ASCII (U+0000 sampai U+007F) memakai 1 byte, karakter Latin dan umum lainnya 2 byte, sebagian besar karakter CJK 3 byte, dan emoji serta karakter langka 4 byte.

Apa perbedaan antara \u dan \U?

\uXXXX memakai 4 digit heksadesimal dan dapat merepresentasikan karakter di Basic Multilingual Plane (U+0000 sampai U+FFFF). \UXXXXXXXX memakai 8 digit heksadesimal dan dapat merepresentasikan karakter Unicode mana pun termasuk yang melampaui BMP.

Mengapa teks saya menampilkan karakter seperti "é" atau "�", dan bagaimana memperbaikinya?

Itu tanda mojibake: byte UTF-8 didekode sebagai Windows-1252/Latin-1. "é" berarti dua byte UTF-8 dari "é" (0xC3 0xA9) ditampilkan sebagai dua karakter terpisah. Gunakan mode Perbaiki Teks Kacau untuk memperbaikinya. "�" adalah U+FFFD, karakter pengganti yang dihasilkan saat byte sudah tidak valid - informasi itu hilang dan tidak bisa dipulihkan.

Apa perbedaan antara UTF-8 dan UTF-16?

UTF-8 mengenkode karakter dalam 1–4 byte dan sepenuhnya kompatibel ASCII, menjadikannya default untuk web, JSON, dan sebagian besar API. UTF-16 mengenkode karakter dalam 2 atau 4 byte (memakai pasangan surrogate untuk karakter melampaui U+FFFF) dan dipakai secara internal oleh JavaScript, Java, dan Windows. Untuk sebagian besar teks di web, UTF-8 lebih kecil dan lebih aman.

Apa perbedaan code point dan code unit?

Code point adalah angka yang diberikan kepada sebuah karakter dalam standar Unicode (U+00E9 untuk e-aksen-tajam); code unit adalah unit penyimpanan yang dipakai sebuah encoding. Code unit UTF-8 adalah byte 8-bit - U+00E9 membutuhkan dua - sedangkan code unit UTF-16 16-bit, dan karakter melampaui U+FFFF butuh dua di antaranya (pasangan surrogate). String JavaScript adalah UTF-16, jadi 'hello'.length adalah 5 tetapi .length sebuah emoji adalah 2.

Apa itu bentuk normalisasi Unicode dan kapan penting?

Karakter yang tampak sama bisa punya beberapa rangkaian byte: e-aksen-tajam sebagai satu karakter praterekam (NFC) atau e plus aksen penggabung (NFD). NFC menyusun, NFD menguraikan, dan NFKC/NFKD tambahan melipat karakter kompatibilitas (bentuk lebar-penuh, ligatur). Membandingkan atau meng-hash input pengguna tanpa menormalkan lebih dulu adalah sumber klasik akun duplikat dan pencarian gagal - ligatur fi vs f+i.

Apa itu BOM dan mengapa merusak file saya?

Byte order mark adalah U+FEFF yang dienkode di awal stream (EF BB BF dalam UTF-8) untuk menandakan encoding. Editor biasanya menyembunyikannya, tetapi di hilir ia menjadi karakter pertama yang tak terlihat: header CSV mendapat kunci hantu, parsing JSON gagal pada token liar, dan sesi PHP memancarkannya sebelum header. UTF-8 tidak butuh BOM karena tidak memiliki ambiguitas urutan byte - simpan tanpa BOM.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}