JavaScript İle Base64 Kodlu Unicode Dizilerini Çözme: Adım Adım Kılavuz
function b64DecodeUnicode(str) { // Going backwards: from bytestream, to percent-encoding, to original string. return decodeURIComponent(atob(str).split('').map(function (c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); }
Giriş: Base64 kodlaması, verileri karakter dizilerine dönüştürmek için sıkça kullanılan bir yöntemdir. Ancak, bazen bu kodlama yöntemi Unicode karakterlerini içerebilir. Bu karakterleri çözmek biraz daha karmaşık hale gelebilir. Neyse ki, JavaScript ile bu tür kodlamaları çözebilecek özel bir işlev oluşturabiliriz. Bu yazıda, JavaScript kullanarak Base64 ile kodlanmış Unicode dizilerini çözen ve orijinal dizgileri elde eden bir işlevin adımlarını anlatacağız.
Adım 1: Base64 Kodunun Çözülmesi İlk adımda, JavaScript’in atob()
işlevini kullanarak gelen Base64 kodunu çözeceğiz. Bu işlev, Base64 kodunu alır ve orijinal bytestream’e dönüştürür. Bu adım, veriyi başlangıçta Base64 ile kodlandığı hâline geri getirir.
Örneğin, “SGVsbG8gd29ybGQh” gibi bir Base64 kodu, atob()
işlevi kullanılarak “Hello world!” ifadesine dönüştürülür.
Adım 2: Yüzde Kodlamasının Çözülmesi İkinci adımda, çözülen bytestream’i yüzde kodlamasıyla yeniden işleyeceğiz. Bu adımı gerçekleştirmek için, çözülen bytestream’i karakterlere ayıracağız (split('')
). Ardından, her bir karakterin Unicode değerini alacak ve onu onaltılık formatta temsil edeceğiz ('00' + c.charCodeAt(0).toString(16)
). Böylece, her karakteri “%” işaretiyle başlayan bir dizeye dönüştüreceğiz.
Örneğin, “Hello world!” ifadesi “SGVsbG8gd29ybGQh” Base64 kodundan çözüldüğünde, bytestream şu şekilde temsil edilir: [72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33]
. Bu adımda, her bir sayıyı yüzde kodlamasıyla ifade edeceğiz: “%48%65%6c%6c%6f%20%77%6f%72%6c%64%21”.
Adım 3: Orijinal Dizginin Elde Edilmesi Son adımda, yüzde kodlamasıyla ifade edilen dizgiyi join('')
işlemiyle birleştirerek orijinal dizgiyi elde edeceğiz. Böylece, yüzde kodlaması geri döndürülecek ve Unicode karakterleri içeren orijinal dize elde edilecek.
Örneğin, “%48%65%6c%6c%6f%20%77%6f%72%6c%64%21” ifadesi, join('')
işlemi kullanılarak “Hello world!” ifadesine geri dönüştürülür.
Sonuç: Bu adımları içeren b64DecodeUnicode()
işlevi, Base64 ile kodlanmış Unicode dizilerini çözmek ve orijinal dizgileri elde etmek için kullanılır. Bu işlev, özellikle web uygulamalarında veya verilerin kodlu olarak depolandığı senaryolarda kullanışlıdır.
Bir yanıt yazın