Online string escape işlemi için hızlı ve gizli bir yöntem
Kod yazarken veya veri biçimlendirirken özel karakterler sözdiziminizi kolayca bozabilir. JSON verisindeki hatalı bir tırnak işareti, JavaScript değişkenindeki kaçış yapılmamış (unescaped) bir satır sonu veya CSV dosyasındaki işlenmemiş bir virgül, ayrıştırma hatalarına ve hatta güvenlik açıklarına yol açabilir.
Bu araç, çeşitli programlama ortamları için metinleri güvenli bir şekilde encode ve decode etmenin hızlı bir yolunu sunar. İster güvenilir bir json escape aracına, ister veritabanı sorguları için metin dizelerini hazırlamanın bir yoluna ihtiyacınız olsun, siz yazdıkça her şey anında güncellenir. Dönüştürme işlemi tamamen web tarayıcınızda gerçekleştiği için verileriniz kesinlikle gizli kalır. Sunucuya hiçbir metin gönderilmez; bu da aracı tescilli kodlar, veritabanı içerikleri ve hassas API verileri için tamamen güvenli kılar.
Desteklenen formatlar ve kurallar
Farklı dillerin ve veri formatlarının, neyin özel karakter sayılacağı ve nasıl etkisiz hale getirileceği konusunda farklı kuralları vardır. Bu araç yaygın olarak kullanılan beş formatı destekler:
JSON: JSON, metin dizeleri (string) için kesin olarak çift tırnak gerektirir ve yeni satır, sekme (tab) ve iç tırnak gibi özel karakterlerin önüne ters eğik çizgi (backslash) eklenmelidir. Araç, %100 uyumlu çıktılar sağlamak için standart JSON stringify işlemini kullanır. Eğer string formatına çevrilmiş bir veri içeren bir API yanıtınız varsa, json string unescape işlemiyle veriyi kolayca okunabilir metne geri dönüştürebilirsiniz. Elde ettiğiniz JSON'ı biçimlendirmek için JSON Formatter aracını kullanabilirsiniz.
JavaScript: JSON'a benzese de, javascript string escape kuralları biraz daha kapsamlıdır. Bu araç, metinleri tek tırnak, çift tırnak veya şablon dizeleri (backtick) içine güvenle yerleştirilecek şekilde hazırlar. Tek tırnakları ('), backtick'leri (`) ve şablon dizesi ifadelerini (${) kaçış karakterleriyle (escape) korumaya alır. Kaçış karakterleri kaldırılırken (unescape) standart kaçış dizilerini (\n, \t), hex kodlarını (\x20), sekizlik (octal) dizileri ve unicode kod noktalarını (\u00A9 veya \u{1F600}) çözümler.
SQL: Veritabanı sorguları, kullanıcı girdilerindeki işlenmemiş tırnak işaretleri nedeniyle sıklıkla başarısız olur. sql tek tırnak escape özelliği, tek tırnakları çiftleme şeklindeki standart SQL kuralını kullanır (' işaretini '' yapar). Bu sayede "O'Connor" gibi isimleri veya kesme işareti içeren metinleri, INSERT veya UPDATE ifadelerinin sözdizimini (syntax) bozmadan güvenle ekleyebilirsiniz.
CSV: Virgülle Ayrılmış Değerler (CSV), sütunları ayırmak için virgüllere, satırları ayırmak için ise yeni satır karakterlerine dayanır. Eğer asıl veriniz virgül, yeni satır veya başında/sonunda boşluk içeriyorsa, araç tüm metni çift tırnak içine alır. Metnin kendisi çift tırnak içeriyorsa, RFC 4180 standartlarına tam uyumlu olarak bu tırnaklar çiftlenerek ("") kaçış (escape) işlemi uygulanır.
Regex: Düzenli ifadeler (Regular expressions); *, +, ?, [ ve $ gibi karakterleri operatör olarak kullanır. Bu karakterleri içeren bir metni (örneğin bir URL, dosya yolu veya matematiksel denklem) birebir eşleştirmeniz gerekiyorsa, bunlara kaçış karakteri eklemelisiniz. Regex seçeneği, tüm regex meta karakterlerinin önüne otomatik olarak bir ters eğik çizgi (backslash) ekler, böylece bu karakterler düz metin olarak işlenir.
Yaygın kullanım alanları
JSON içine JSON gömme: Bazen API'ler, bir JSON nesnesinin başka bir JSON nesnesi içinde string (metin) değeri olarak gönderilmesini ister. İçteki JSON'u normal şekilde yazıp buraya yapıştırabilir ve kaçış karakterleri eklenmiş (escaped) halini kopyalayarak ana verinize (payload) yapıştırabilirsiniz.
SQL scriptleri oluşturma: Veri taşımak veya veritabanına isim ve açıklama listesi eklemek için manuel olarak bir script yazıyorsanız, ham metni buraya yapıştırarak SQL editörünüze aktarmadan önce tüm kesme ve tırnak işaretlerine doğru şekilde kaçış karakteri eklendiğinden emin olabilirsiniz.
Dinamik Regex desenleri oluşturma: Kullanıcıların düzenli ifadeler (regex) kullanarak birebir eşleşen ifadeleri aramasına olanak tanıyan bir arama özelliği geliştirirken, öncelikle kullanıcı girdisini escape etmeniz (kaçış karakteri eklemeniz) gerekir. Karmaşık bir metnin regex motoru için doğru şekilde escape edildiğinde nasıl görüneceğini hızlıca kontrol etmek için bu aracı kullanabilirsiniz.
Bozuk verileri düzeltme: Belirli bir hücrede kaçış karakteri kullanılmamış satır sonları veya virgüller bulunduğu için yapısı bozulan bir CSV dosyasıyla karşılaşırsanız, ham hücre verisini buraya yapıştırıp escape ettikten sonra orijinal dosyanıza geri yapıştırabilirsiniz.
Kaçış (Escaping) neden önemlidir?
İşlemeye çalıştığınız veri, programlama dilinin kodu yapılandırmak için kullandığı karakterleri içerdiğinde sözdizimi (syntax) çakışmaları meydana gelir. Bir ayrıştırıcı (parser) dizenin (string) bittiğini anlamak için çift tırnak beklerken metninizin içinde bir çift tırnakla karşılaşırsa, dizenin sona erdiğini varsayar. Geriye kalan metin ise sözdizimi hatasına yol açar.
Kaçış işlemi, ayrıştırıcıya bir sinyal gönderir. Bir kaçış karakteri (genellikle ters eğik çizgi \) ekleyerek ayrıştırıcıya, "sonraki karakteri bir komut olarak değil, normal bir metin olarak algıla" demiş olursunuz. Kaçışları kaldırma (unescaping) ise bu işlemi tersine çevirir; ters eğik çizgileri temizleyerek metni orijinal ve okunabilir formuna geri getirir.
Diğer veri kodlama işlemleri için HTML Encode/Decode veya URL Encode/Decode araçlarımızı da faydalı bulabilirsiniz.