Cara memakai
- Tempel teks ke Teks, lalu pilih Escape atau Unescape di Tindakan.
- Pilih jenis string di Format, seperti String JSON atau Literal string SQL.
- Untuk format yang memakai tanda kutip, biarkan Tambahkan tanda kutip dicentang untuk mendapatkan teks dengan tanda kutipnya, atau hilangkan centangnya untuk mendapatkan isinya saja.
- Baca Hasil, dan tabel Karakter yang di-escape bila Anda meng-escape teks.
Arti escape
String dalam program, berkas, atau kueri hanya bisa memuat sebagian karakter secara langsung. Escape mengganti karakter lainnya, termasuk karakter yang akan mengakhiri string, dengan urutan yang dibaca format itu kembali sebagai karakter yang sama. Setiap format punya urutannya sendiri, sehingga satu karakter bisa ditulis dengan beberapa cara, dan unescape membaca urutan itu kembali menjadi karakter.
- JSON dan JavaScript memakai garis miring terbalik, sehingga pindah baris ditulis sebagai \n.
- HTML dan XML memakai tanda ampersand, nama, dan titik koma, sehingga ampersand ditulis sebagai &.
- CSV dan SQL menggandakan karakter yang mengakhiri kolom atau string, sehingga tanda kutip tunggal di SQL ditulis sebagai dua tanda kutip tunggal.
Aturan setiap format
- String JSON: RFC 8259, bagian 7. Tanda kutip ganda, garis miring terbalik, dan karakter kontrol di-escape, dan escape \u dengan empat digit heksadesimal dibaca.
- String JavaScript: literal string ECMA-262. Dalam string berkutip ganda hanya tanda kutip ganda yang perlu di-escape, dan escape oktal lama ditolak.
- Nilai atribut HTML: lima karakter & < > " ' ditulis sebagai referensi. Nama yang tidak dikenal halaman ini, seperti é, dipertahankan apa adanya.
- Teks XML: lima karakter yang sama, dengan ' untuk tanda kutip tunggal. XML 1.0 tidak punya cara menulis karakter kontrol, sehingga karakter seperti itu ditolak.
- Kolom CSV: RFC 4180. Kolom dengan koma, tanda kutip, atau pindah baris diapit tanda kutip ganda, dan setiap tanda kutip di dalamnya digandakan.
- Literal string SQL: manual PostgreSQL. Tanda kutip tunggal digandakan. Garis miring terbalik tidak istimewa dalam SQL standar.
- Ekspresi reguler: garis miring terbalik ditaruh sebelum setiap karakter sintaks, seperti yang didaftar ECMA-262. Unescape mempertahankan escape seperti \d, karena itu kelas.
- String C# atau Java: escape yang dibaca kedua bahasa. Pindah baris ditulis sebagai \n, dan karakter kontrol lain sebagai escape \u.
- Teks shell dalam tanda kutip tunggal: POSIX. Tidak ada yang istimewa di dalam tanda kutip tunggal, sehingga tanda kutip ditulis sebagai '\'' (akhiri tanda kutip, escape, mulai lagi).
Kesalahan yang mudah terjadi
- Meng-escape teks dua kali menggandakan garis miring terbaliknya, sehingga hasilnya menampilkan \\n di tempat escape pertama memberi \n.
- String JSON yang diletakkan di dalam berkas JavaScript tetap memerlukan escape-nya sendiri di dalam berkas itu, dan string SQL di dalam aplikasi mungkin juga memerlukan escape bahasanya.
- Separuh emoji tidak bisa ditulis di format mana pun ini, sehingga halaman menolaknya. Ketik ulang karakternya.
Contoh: string JSON dengan tanda kutip, pindah baris, dan garis miring terbalik
Teks He said "hi" & left., pindah baris, lalu Path: C:\temp memuat dua tanda kutip ganda, satu pindah baris, dan satu garis miring terbalik. Di-escape sebagai string JSON dengan tanda kutip, hasilnya menjadi "He said \"hi\" & left.\nPath: C:\\temp". Tabel menghitung karakter yang ditulis dengan cara lain.
| Karakter | Ditulis sebagai | Kali |
|---|---|---|
| " | \" | 2 |
| U+000A | \n | 1 |
| \ | \\ | 1 |
Pertanyaan yang sering diajukan
Apakah teksnya dikirim ke server?
Tidak. Escape dan unescape berjalan di peramban Anda, sehingga teks yang memuat kata sandi atau token tetap berada di perangkat Anda.
Mengapa unescape menolak \x41 dalam JSON?
JSON tidak punya escape \x. Yang ada adalah \u diikuti empat digit heksadesimal, sehingga huruf A ditulis \u0041. String JavaScript memang menerima \x41, itulah sebabnya kedua format ini didaftar terpisah.
Mengapa tanda kutip tunggal dibiarkan dalam string JavaScript?
String berkutip ganda hanya memerlukan tanda kutip gandanya di-escape. Dengan opsi tanda kutip aktif, hasilnya dibungkus tanda kutip ganda, sehingga tanda kutip tunggal di sana hanyalah karakter biasa.
Mengapa garis miring terbalik tidak di-escape dalam SQL?
SQL standar tidak memperlakukan garis miring terbalik sebagai istimewa dalam konstanta string. Beberapa basis data, seperti MySQL secara default, memperlakukannya demikian, jadi periksa aturan basis data Anda sebelum menulis garis miring terbalik dalam string SQL.
Apa yang diubah oleh Tambahkan tanda kutip?
Saat aktif, teks yang di-escape dibungkus tanda kutip format itu, seperti tanda kutip ganda untuk JSON atau tanda kutip tunggal untuk SQL. Matikan untuk mendapatkan isinya saja, misalnya untuk meletakkannya di dalam string yang sudah berkutip.
Mengapa hasil CSV memakai tanda kutip padahal teks saya tidak punya tanda kutip?
RFC 4180 mewajibkan kolom diapit tanda kutip bila memuat koma, tanda kutip, atau pindah baris. Kolom biasa ditulis apa adanya, tanpa tanda kutip.
Mengapa karakter kontrol ditolak untuk XML?
XML 1.0 tidak mengizinkan karakter seperti U+0001 sama sekali, bahkan sebagai referensi, sehingga halaman tidak bisa menuliskannya. Hapus dari teks lebih dulu.
Sumber
- RFC 8259 (dalam bahasa Inggris): The JavaScript Object Notation (JSON) Data Interchange Format, bagian 7 (IETF)
- ECMA-262 (dalam bahasa Inggris): ECMAScript Language Specification, literal string dan sintaks ekspresi reguler
- XML 1.0 Edisi Kelima (dalam bahasa Inggris), bagian 4.6 entitas bawaan (W3C)
- RFC 4180 (dalam bahasa Inggris): Common Format and MIME Type for Comma-Separated Values (CSV) Files (IETF)
- Manual PostgreSQL (dalam bahasa Inggris): konstanta string (sql-syntax-lexical)
- POSIX Shell and Utilities (dalam bahasa Inggris), bagian 2.2.2 tanda kutip tunggal (The Open Group)
- Java Language Specification (dalam bahasa Inggris), bab 3: literal dan urutan escape (Oracle)
- Spesifikasi bahasa C# (dalam bahasa Inggris), struktur leksikal (Microsoft)
- Manual MySQL (dalam bahasa Inggris): literal string dan karakter escape garis miring terbalik
Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.