Utilia

Encode dan Decode Entitas HTML

Ubah karakter khusus menjadi entitas HTML (bernama, desimal, atau hex) atau decode entitas apa pun, dengan daftar lengkap 2.231 referensi bernama HTML5.

Opsi encoding

Cara meng-encode atau men-decode entitas HTML

  1. Tempel teks atau HTML Anda ke kotak masukan.
  2. Untuk meng-escape, pilih karakter yang akan di-encode: Hanya & < > " ' atau Juga semua karakter non-ASCII, lalu pilih Format entitas: Bernama (&eacute;), Desimal (&#233;), atau Heksadesimal (&#xE9;).
  3. Klik Encode, atau klik Decode untuk mengubah entitas kembali menjadi karakter.
  4. Baca jumlahnya di baris status, lalu klik Salin. Pakai hasil sebagai masukan memindahkan hasil ke kotak masukan, misalnya untuk menguji bolak-balik.

Encoding: kapan dan apa yang perlu di-escape

Di HTML, lima karakter bisa disangka markup. Hanya & < > " ' mengganti tepat kelima karakter ini: & dengan &amp;, < dengan &lt;, > dengan &gt;, " dengan &quot;, dan ' dengan &#39;. Inilah yang Anda perlukan untuk menampilkan kode di halaman web, memasukkan teks pengguna ke dalam atribut, atau menempel cuplikan ke artikel blog atau kolom CMS yang mengharapkan HTML. Apostrof memakai bentuk numerik karena &apos; belum ada di HTML 4 dan sebagian parser lama tidak mengenalnya.

Juga semua karakter non-ASCII juga mengganti semua yang berada di luar ASCII yang dapat dicetak: huruf beraksen, tanda kutip tipografis, simbol euro, non-breaking space, emoji, dan sebagainya. Hasilnya murni ASCII, berguna untuk sistem yang merusak UTF-8, untuk template email, atau untuk membuat karakter tak terlihat seperti &nbsp; tampak di kode sumber.

Format entitas menentukan cara karakter ditulis:

  • Bernama (&eacute;) memakai nama yang mudah dibaca jika HTML mendefinisikannya (&eacute;, &euro;, &hellip;), dengan mengutamakan nama klasik HTML 4 jika sebuah karakter punya beberapa nama. Karakter tanpa nama, seperti emoji, kembali memakai desimal.
  • Desimal (&#233;) menulis code point Unicode dalam basis 10.
  • Heksadesimal (&#xE9;) menulisnya dalam basis 16, sesuai dengan notasi U+00E9 di tabel Unicode.

Ketiganya dipahami oleh semua browser. Karakter di luar Basic Multilingual Plane, seperti 😀, di-encode sebagai satu referensi ke code point lengkapnya (&#128512;), bukan sebagai dua bagian surrogate.

Decoding: aturan HTML5

Decode mengikuti aturan yang dipakai browser saat membaca konten teks, dengan daftar lengkap 2.231 referensi karakter bernama dari HTML Living Standard:

  • referensi bernama seperti &eacute;, &rarr;, atau &NotEqualTilde; (sebagian menghasilkan dua code point);
  • referensi desimal (&#233;) dan heksadesimal (&#xE9; atau &#XE9;), dengan atau tanpa titik koma di akhir;
  • nama lama yang diterima browser tanpa titik koma, seperti &copy 2026 atau &amp — dan, seperti di browser, &notit; menjadi ¬it; karena &not adalah salah satu nama lama tersebut;
  • referensi numerik di rentang 128–159 dipetakan ke karakter Windows-1252 yang ditampilkan browser (&#150; menghasilkan en dash), sedangkan &#0;, surrogate, dan nilai di atas U+10FFFF menjadi karakter pengganti �.

Nama yang tidak dikenal seperti &foo; dibiarkan apa adanya dan dihitung di baris status. Decoding dilakukan oleh parser milik alat ini sendiri, bukan dengan menyisipkan teks Anda ke halaman, sehingga markup atau skrip apa pun di masukan tidak pernah diinterpretasikan.

Pertanyaan yang sering diajukan

Apakah karakter beraksen perlu di-encode?

Biasanya tidak. Halaman yang disajikan sebagai UTF-8 bisa langsung memuat é atau €. Encoding non-ASCII hanya diperlukan jika file atau sistem perantaranya tidak bisa menangani UTF-8.

Mengapa &amp;amp; menjadi &amp; dan bukan &?

Decoding dilakukan sekali, seperti yang dilakukan browser. &amp;amp; adalah &amp; yang di-escape. Klik Pakai hasil sebagai masukan lalu Decode lagi jika teksnya di-encode dua kali.

Apa bedanya dengan URL encoding?

Entitas HTML meng-escape teks untuk dokumen HTML. URL encoding (%20, %C3%A9) meng-escape teks untuk alamat web. Gunakan URL encoder untuk tautan dan query string.

Apakah teks saya dikirim ke server?

Tidak. Encoding dan decoding berjalan di browser Anda. Hanya daftar nama entitas yang dimuat dari situs ini saat Anda pertama kali melakukan decode.

Apakah entitas di dalam atribut di-decode secara berbeda?

Browser menangani beberapa nama lama tanpa titik koma secara berbeda di dalam nilai atribut. Alat ini memakai aturan konten teks, yang sesuai dengan apa yang Anda lihat di halaman.