# Escape dan unescape string

Loloskan teks untuk string JSON atau JavaScript, string SQL, bidang CSV, ekspresi reguler, atau kata shell, atau batalkan peloloskan.

https://codeknife.dev/id/escape-unescape/

## Fungsinya

Meloloskan teks agar muat dalam string JSON atau JavaScript, string SQL, bidang CSV, ekspresi reguler, atau kata shell, dan membatalkan peloloskan. Setiap format meloloskan persis karakter yang dibutuhkannya dan tidak lebih.

## Cara memakai

1. Ketik atau tempel teks, atau jatuhkan file teks.
2. Pilih ke mana teks akan pergi (**String JSON**, **String JavaScript**, **String SQL**, **Bidang CSV**, **Ekspresi reguler**, atau **Kata shell**) dan apakah **Escape** atau **Unescape**.
3. Salin atau unduh hasilnya, atau pakai **Pakai output sebagai input** untuk menjadikannya masukan berikutnya.

## Contoh

Meloloskan `He said "it's fine"` dan baris baru:

JSON memberi `He said \"it's fine\"\n`, SQL memberi `He said "it''s fine"`, dan shell memberi `'He said "it'\''s fine"'`.

## Perlu diketahui

- JSON dan JavaScript meloloskan backslash, kutip pembungkus string, baris baru, dan karakter kontrol. Unescape membaca `\n`, `\t`, `\uXXXX` dan sejenisnya; JavaScript juga membaca `\xHH` dan `\u{…}`.
- SQL menggandakan kutip tunggal. Ini benar untuk literal yang ditulis tangan; untuk kode, pakai parameter terikat.
- Bidang CSV hanya dibungkus kutip jika berisi koma, kutip, atau baris baru, dan kutip di dalamnya digandakan.
- Kata shell dibungkus kutip tunggal, dan kutip tunggal di dalamnya ditulis `'\''`, agar tidak ada yang diekspansi.

## Mengapa tiap format meloloskan dengan cara berbeda?

Setiap sintaks punya karakter khusus sendiri. String JSON membutuhkan kutip, backslash, dan karakter kontrol yang diloloskan. String SQL hanya butuh kutip tunggal digandakan. Bidang CSV dibungkus kutip jika berisi koma, kutip, atau baris baru. Ekspresi reguler meloloskan operatornya, dan kata shell dibungkus kutip tunggal agar tidak ada yang diekspansi.

## Pertanyaan umum

### Apakah escape cukup untuk menghentikan injeksi SQL?

Tidak. Menggandakan kutip adalah yang ditunjukkan alat ini dan benar untuk literal dalam kueri yang ditulis tangan, tetapi bukan pertahanan untuk kode. Teruskan nilai sebagai parameter terikat, sehingga tidak pernah menjadi bagian teks SQL.

### Apa beda string JSON dan JavaScript?

JSON hanya mengizinkan beberapa escape dan selalu memakai kutip ganda. JavaScript juga mengizinkan kutip tunggal, \x41, serta escape di kedua gaya kutip. Karena itu unescape sebagai JSON menolak urutan yang akan diterima JavaScript.

### Apakah alat ini mengirim teks saya ke mana pun?

Tidak. Semuanya terjadi di browser Anda. Apa yang Anda ketik tidak pernah dikirim ke server kami.