Unicode metin Base64 olarak nasıl doğru kodlanır?
UTF-8 baytları, btoa sınırlaması, emoji ve Türkçe karakterlerle güvenli Base64 dönüşümü.
Unicode metni Base64'e çevirmeden önce UTF-8 baytlarına dönüştürmek gerekir. JavaScript `btoa()` doğrudan yalnızca tek bayt aralığındaki karakterleri kabul ettiği için emoji veya birçok dil karakterinde ham kullanımı hata ya da bozuk sonuç üretebilir.
Bu güncellemede ne değişti?
UTF-8 dönüşüm adımı ve tarayıcı API örneği netleştirildi.
Doğru tarayıcı akışı nedir?
`TextEncoder` metni UTF-8 baytlarına dönüştürür. Baytlar güvenli bir binary string'e çevrildikten sonra Base64 üretilebilir; çözme tarafında sıra tersine çevrilir ve `TextDecoder` kullanılır.
URL-safe Base64 neyi değiştirir?
URL-safe varyant, `+` yerine `-`, `/` yerine `_` kullanır; padding bazen kaldırılır. Alıcı sistemin padding ve alfabe beklentisi doğrulanmalıdır.
Dönüşüm nasıl test edilir?
Türkçe `çğıöşü`, Korece, Arapça ve emoji içeren bir test dizesini kodlayıp geri çözün. Sonucun kod noktaları girişle aynı olmalıdır.
Sık sorulan sorular
btoa neden emoji ile hata verir?
Emoji UTF-16 içinde birden fazla kod birimi ve UTF-8 içinde birden fazla bayt gerektirir; btoa doğrudan Unicode metin API'si değildir.
Padding kaldırılabilir mi?
Yalnızca hedef protokol izin veriyorsa; çözmeden önce uzunluğa göre geri eklemek gerekebilir.