Encode dan decode entitas HTML
Ubah teks menjadi entitas HTML, atau ubah entitas seperti & dan € kembali menjadi karakter yang diwakilinya.
Berjalan di browser; apa pun yang Anda ketik tidak meninggalkan perangkat Anda
Tempel teks untuk memulai.
Teks hingga beberapa juta karakter. Decode memahami semua entitas bernama yang dikenal browser Anda (daftar lengkap HTML5) serta angka desimal dan heksadesimal; setiap referensi memerlukan titik koma penutupnya. Decode hanya satu tingkat: &lt; menjadi <, bukan <.
Cara encode dan decode entitas HTML
- Pilih Encode atau Decode lalu tempel teks Anda.
- Saat encode, pilih apakah hanya karakter tak aman yang di-encode, memakai nama seperti é jika tersedia, atau memakai angka untuk semua yang di luar ASCII.
- Salin hasilnya.
Apa itu entitas HTML
HTML memberi tugas khusus pada beberapa karakter: tanda kurang dari membuka tag, ampersand membuka entitas, dan tanda kutip menutup nilai atribut. Untuk menampilkan salah satu karakter itu sebagai teks, Anda menulis entitas sebagai gantinya: < untuk <, & untuk &. Entitas juga memungkinkan Anda menulis karakter yang sulit diketik atau tidak bisa ditampung encoding halaman lama, seperti é untuk é, € untuk € atau 😀 untuk emoji.
Entitas diawali ampersand dan diakhiri titik koma. Di antaranya ada nama (copy), angka desimal setelah # (#169), atau angka heksadesimal setelah #x (#xA9). Ketiganya menulis tanda hak cipta. Proses encode menelusuri teks Anda satu karakter demi satu: lima karakter tak aman selalu menjadi entitas, dan sisanya bergantung pada opsi yang Anda pilih, dari tidak ada sama sekali sampai sebuah angka untuk setiap karakter.
Decode membaca setiap referensi dan menggantinya dengan karakternya. Angka dikonversi langsung mengikuti aturan HTML: angka nol, di luar rentang, atau berupa surrogate menjadi karakter pengganti, dan angka 128 sampai 159 dibaca sebagai karakter Windows-1252, seperti yang dilakukan browser. Nama diselesaikan oleh browser Anda, yang mengenal seluruh daftar HTML5. Decode hanya satu kali jalan, jadi &lt; menjadi < dan bukan tanda kurang dari polos.
Tips
- Ingin meng-escape nilai untuk alamat web? Gunakan Encode dan decode URL.
- Rapikan markup sebelum di-escape dengan pemformat HTML.
- Tidak tahu mengapa teks terlihat aneh? Karakter tersembunyi bisa bersembunyi di dalamnya: periksa dengan pendeteksi karakter tak terlihat.
Pertanyaan umum
Karakter apa saja yang harus di-escape di HTML?
Lima: tanda kurang dari < (<), tanda lebih dari > (>), ampersand & (&), tanda kutip ganda " (") dan tanda kutip tunggal ' ('). Dengan meng-escape-nya, Anda bisa menampilkan kode atau input pengguna sebagai teks tanpa dibaca sebagai markup. Opsi pertama, Hanya karakter tak aman, melakukan persis itu.
Apa beda entitas bernama dan numerik?
Entitas bernama memakai kata pendek, seperti é untuk é atau € untuk €. Entitas numerik memakai code point Unicode, dalam desimal (é) atau heksadesimal (é). Keduanya menghasilkan karakter yang sama. Hanya sebagian karakter yang punya nama; sisanya memerlukan angka.
Mengapa karakter non-ASCII perlu di-encode?
Jika halaman atau email tidak dikirim sebagai UTF-8, huruf beraksen dan simbol bisa berubah menjadi karakter acak. Entitas adalah ASCII murni, sehingga tetap aman di encoding apa pun.
Apakah decode mencakup semua entitas?
Ya. Referensi desimal dan heksadesimal dikonversi langsung, sedangkan nama dicari oleh parser HTML bawaan browser, yang mengenal daftar lengkap HTML5 dengan lebih dari dua ribu nama. Referensi tanpa titik koma dibiarkan apa adanya, begitu juga nama yang tidak dikenal, yang ditampilkan dalam daftar agar Anda bisa melihatnya.
Apakah encode cukup untuk mencegah XSS?
Meng-encode lima karakter tak aman adalah perbaikan yang tepat saat Anda menaruh teks di isi elemen HTML atau di nilai atribut yang diberi tanda kutip. Itu tidak cukup di dalam script, style, atribut tanpa tanda kutip, atau URL, yang masing-masing memerlukan escape sendiri. Alat ini untuk teks yang Anda tempel, bukan pengganti escape dari framework Anda.
Apakah teks saya diunggah?
Tidak. Semuanya berjalan di browser Anda dan tidak ada yang meninggalkan perangkat Anda.