UTF-8
Kısa tanım
Unicode’daki tüm karakterleri 1 ile 4 bayt arasında değişen uzunlukta kodlayan ve web’de en yaygın kullanılan karakter kodlama standardıdır.
Diğer adları: UTF-8 kodlaması, Unicode dönüşüm biçimi
Bilgisayarlar metni sayılar olarak saklar. Hangi sayının hangi karaktere karşılık geldiğini Unicode standardı belirler: "A" U+0041, "ç" U+00E7, "€" U+20AC gibi. UTF-8 ise bu karakter numaralarını bayt dizilerine çevirmenin en yaygın yoludur. Bugün web sayfalarının çok büyük çoğunluğu UTF-8 kullanır.
Değişken uzunluk
- 1 bayt: İngilizce harfler, rakamlar ve temel noktalama (ASCII, U+0000-U+007F). Bu yüzden UTF-8 eski ASCII metinlerle tam uyumludur.
- 2 bayt: Türkçe ç, ğ, ı, ö, ş, ü ve Latin, Yunan, Kiril, Arap, İbrani harflerinin çoğu.
- 3 bayt: Çince, Japonca, Korece karakterlerin çoğu ve € gibi semboller.
- 4 bayt: Emojiler ve nadir karakterler.
Örnek: "Gümüş" kelimesi 5 karakterdir ama UTF-8'de 7 bayt tutar (G, m, s 1'er bayt; ü ve ş 2'şer bayt). "Merhaba 👋" ise 9 karakter görünse de 12 bayttır. Bir metnin bayt uzunluğunu UTF-8 bayt uzunluğu hesaplamasıyla görebilirsin; bu, veritabanı alan sınırlarında ve SMS karakter hesaplarında önemlidir.
Bozuk karakter sorunu
"ç" ya da "ÅŸ" gibi garip karakterler, UTF-8 ile kaydedilmiş bir metnin başka bir kodlama (örneğin ISO-8859-9 ya da Windows-1254) sanılarak okunmasından kaynaklanır. Çözüm, dosyanın, veritabanının ve HTML sayfasının (<meta charset="utf-8">) aynı kodlamayı kullanmasıdır.
İlgili kodlamalar
Web adreslerinde UTF-8 baytları yüzde işaretiyle yazılır; bunu URL kodlama aracında görebilirsin. İkili veriyi metin olarak taşımak için kullanılan Base64 ise farklı bir amaca hizmet eder; örneklerini Base64 aracında inceleyebilirsin.