Dekoder entitas HTML

Ubah é dan é kembali menjadi teks yang bisa dibaca: referensi bernama dan numerik, desimal atau heksadesimal, di browser Anda.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah, dicatat, atau disimpan.

Teks yang terlalu sering melewati proses escape datang penuh dengan é, é, dan &. Alat ini membacanya kembali: setiap entitas menjadi karakter yang diwakilinya, dan selebihnya dibiarkan apa adanya.

Cara kerja

Referensi bernama dicari di tabel HTML 4.01: 252 nama, dari & sampai €. Referensi numerik dibaca sebagai code point, dalam desimal (é) atau heksadesimal (é), dengan huruf besar maupun kecil.

Apa pun yang bukan referensi disalin tanpa diubah, termasuk ampersand yang berdiri sendiri. Teks yang diambil dari halaman sangat sering hanya setengah ter-escape, dan menolak seluruh input karena satu “&” yang nyasar tidak akan membantu siapa pun.

Contoh

Kasus Masukan Hasil
Referensi bernama café café
Karakter yang sama berdasarkan code point café and café café and café
Teks yang di-escape dua kali, didekode sekali Tom & Jerry Tom & Jerry

Pertanyaan umum

Teks saya masih mengandung & setelahnya. Mengapa?

Karena teks itu di-escape dua kali. & didekode menjadi &, dan itu benar: satu kali dekode membatalkan satu kali escape. Jalankan lagi untuk membatalkan yang kedua. Hasil yang masih ter-escape biasanya justru temuan yang menarik: ada sesuatu dalam rantai yang meng-escape keluaran yang sudah di-escape.

Apakah aman mendekode teks yang tidak tepercaya?

Mendekode di sini aman: tidak ada yang dirender sebagai markup dan hasilnya ditampilkan di kotak teks biasa. Yang tidak aman adalah memasukkan kembali hasil dekode ke dalam halaman: <script> didekode menjadi tag sungguhan, dan justru karena itulah teks tersebut di-escape.

Mengapa   bukan spasi biasa di hasilnya?

Karena memang bukan. Entitas itu didekode menjadi U+00A0, spasi tak terputus, yang tampak sama tetapi berperilaku lain: tidak mengizinkan pindah baris, dan hampir semua kode pencarian dan perbandingan memperlakukannya sebagai karakter berbeda. Perbedaan itu sering kali adalah bug yang sedang diburu.

Apakah nama entitas HTML5 didukung?

Hanya 252 nama dari HTML 4.01. HTML5 menambahkan sekitar dua ribu lagi, sebagian besar matematis; semua itu dibiarkan apa adanya alih-alih ditebak. Referensi numerik tetap berfungsi untuk karakter apa pun.

Perlu diketahui

  • Semuanya terjadi di browser Anda. Apa yang Anda tempel tidak diunggah, tidak dicatat, dan tidak disimpan.

Sumber

Semua alat Kode