Ne yapar
Dize kaçış aracı metni bir dize sabitinin içine konabilecek biçime dönüştürür ve kaçış uygulanmış dizeleri yeniden düz metne çevirir. Dokuz hedefi destekler: JSON, JavaScript, Java ve C#, Python, SQL dize sabitleri, CSV alanları, XML metni ve öznitelikleri, düzenli ifadeler ve POSIX kabuk komutları. Her biri kendi dilinin kurallarına uyar, böylece sonucu sözdizimi hatası olmadan doğrudan kodunuza yapıştırabilirsiniz.
Tipik kullanımlar: çok satırlı bir mesajı veya bir Windows yolunu JSON yapılandırma dosyasına yazmak, bir HTML parçasını JavaScript dizesine gömmek, boşluk içeren bir dosya adını kabuk betiği için tırnağa almak ya da price (USD) gibi düz bir arama terimini onu birebir bulan bir düzenli ifadeye çevirmek.
Nasıl kullanılır
- Kaçış uygula veya Kaçışı kaldır seçin.
- Dili veya biçimi seçin.
- Metninizi girişe yapıştırın ya da Örnek düğmesine tıklayın. Sonuç siz yazarken güncellenir.
- Çıktıyı kopyalayın veya dönüşümü tersine çevirip özgün metne dönüldüğünü doğrulamak için Girdi olarak kullan düğmesine basın.
JSON, JavaScript, Java/C# ve Python için ASCII dışı tüm karakterlere de kaçış uygulayabilirsiniz; böylece her dosya kodlamasında bozulmayan saf bir ASCII dizesi elde edersiniz.
Örnek
Aynı satırın farklı hedefler için kaçış uygulanmış hâli:
Input: He said "hi" in C:\Temp
JSON: He said \"hi\" in C:\\Temp
SQL: He said "hi" in C:\Temp (only ' is doubled)
Regex: He said "hi" in C:\\Temp
Shell: 'He said "hi" in C:\Temp'
Biçimlere göre kurallar
- JSON: tırnaklara, ters eğik çizgilere ve kontrol karakterlerine
JSON.stringifyile birebir aynı şekilde kaçış uygular. - JavaScript: ayrıca tek tırnaklara, ters tırnaklara, dikey sekmelere ve U+2028 ile U+2029 satır ayırıcılarına kaçış uygular.
- Java / C#: ters eğik çizgi kaçışları ve
\uXXXX; kaçış kaldırırken Java’nın sekizlik kaçışlarını ve C#‘ın\xile\Ukaçışlarını da kabul eder. - Python:
\x,\uve\Uile ters eğik çizgi kaçışları; bilinmeyen kaçışlar olduğu gibi kalır. - SQL: standart SQL dize sabitleri için tek tırnakları ikiler.
- CSV: değer virgül, tırnak, satır sonu veya kenarlarda boşluk içeriyorsa onu çift tırnağa alır ve içteki tırnakları ikiler.
- XML: önceden tanımlı beş varlığı yerine koyar; kaçış kaldırırken sayısal karakter başvurularını da çözer.
- Düzenli ifade: özel anlamı olan her karakterin önüne ters eğik çizgi koyar, böylece desen metinle harfi harfine eşleşir.
- Kabuk: değeri, POSIX kabuklarında tüm genişletmeleri devre dışı bırakan tek tırnaklara alır ve içteki tırnakları
'\''olarak yazar.
SSS
› Bir dizeye kaçış uygulamak ne demek?
Bazı karakterlerin dize sabiti içinde özel anlamı vardır; dizeyi bitiren tırnak ya da satır sonu gibi. Kaçış uygulamak bunları güvenli bir diziyle, genellikle ters eğik çizgi ve bir harfle değiştirir; böylece dize kaynak koda, bir sorguya veya dosyaya onu bozmadan yapıştırılabilir.
› Dizeyi çevreleyen tırnakları da yapıştırmalı mıyım?
Hayır. Yalnızca içeriği yapıştırın. Sonuç, kodunuzda tırnakların arasına giren kısımdır. Değerin tamamını tırnağa alan CSV ve kabukta gerektiğinde dış tırnakları araç kendisi ekler.
› SQL kaçışı SQL enjeksiyonunu önlemeye yeter mi?
Tek tırnakları ikilemek geçerli bir dize sabiti üretir; sorguyu elle yazarken veya bir geçiş betiği hazırlarken işe yarar. Uygulama kodunda ise SQL'i dizelerle oluşturmak yerine her zaman parametreli sorgular veya hazır ifadeler kullanın.
› Kaçış kaldırırken neden bilinmeyen kaçış dizisi hatası alıyorum?
Her dil farklı kaçışları kabul eder. Örneğin JSON'da \x ve \0 yoktur; araç, seçilen dilin reddedeceği ilk dizinin konumunu gösterir. Python ise yorumlayıcısı gibi \d gibi bilinmeyen kaçışları olduğu gibi bırakır.
› Metnim yükleniyor mu?
Hayır. Kaçış uygulama ve kaldırma tarayıcınızda çalışır, sunucuya hiçbir şey gönderilmez.