İçeriğe geç
parazade

UTF-8 Nedir?

Yayın: · Son güncelleme:

UTF-8 Nedir? Kısaca

UTF-8, Unicode karakterlerini 1 ile 4 bayt arasında değişen uzunlukta saklayan karakter kodlama biçimidir. ASCII ile uyumludur ve web sayfalarının büyük çoğunluğunda varsayılan kodlama olarak kullanılır.

UTF-8 nedir?
İçindekiler
  1. UTF-8 nedir?
  2. Türkçe harfler kaç bayt tutar?
  3. Bozuk karakter sorunu nasıl çözülür?

UTF-8 nedir?

UTF-8, Unicode'daki her karakteri bilgisayarda saklanabilir baytlara dönüştüren bir kodlama yöntemidir. 1992'de Ken Thompson ve Rob Pike tarafından tasarlanmıştır. Bugün web sayfalarında, e-postalarda ve programlama dillerinde en yaygın kodlamadır.

En önemli özelliği değişken uzunluklu olmasıdır. İngilizce harfler ve rakamlar tek bayt tutar; bu baytlar ASCII ile birebir aynıdır. Daha az kullanılan karakterler ise iki, üç ya da dört bayta yayılır.

Türkçe harfler kaç bayt tutar?

ç, ğ, ı, İ, ö, ş, ü harflerinin her biri UTF-8'de 2 bayt yer kaplar. Örneğin "kış" kelimesi ekranda üç harf görünse de 5 bayttır: "k" 1 bayt, "ı" ve "ş" ise ikişer bayt tutar. Euro işareti 3 bayt, emojilerin çoğu 4 bayt tutar.

Bu fark veritabanında sütun uzunluğu belirlerken önem kazanır. Karakter yerine bayt sayısına göre sınır koyan bir alanda Türkçe metinler beklenenden önce dolabilir.

Bozuk karakter sorunu nasıl çözülür?

"Åž" ya da "ü" gibi anlamsız simgeler, UTF-8 ile kaydedilmiş bir metnin başka bir kodlamayla, örneğin Windows-1254 ile açılmasından kaynaklanır. Çözüm, dosyayı açan programa kodlamanın UTF-8 olduğunu söylemektir.

Web sayfalarında bunun için HTML'in başına <meta charset="utf-8"> satırı eklenir. Excel'de bir CSV dosyasını açarken "Veri > Metinden/CSV'den" yolunu kullanıp dosya kökeni olarak UTF-8 seçmek Türkçe harflerin doğru görünmesini sağlar. Yeni bir proje başlatıyorsanız editörünüzü, veritabanınızı ve sunucunuzu baştan UTF-8'e ayarlamak sonraki sorunların çoğunu önler.

Sıkça Sorulan Sorular

UTF-8 ile UTF-16 arasındaki fark nedir?

İkisi de Unicode karakterlerini saklar, ancak UTF-16 karakter başına en az 2 bayt kullanır. UTF-8 ise İngilizce metinlerde daha az yer kaplar ve ASCII ile uyumlu olduğu için web'de daha yaygındır.

UTF-8 BOM ne demek?

BOM, dosyanın en başına eklenen ve kodlamayı işaret eden görünmez bir bayt dizisidir. Bazı programlar, örneğin eski Excel sürümleri, CSV'yi doğru okumak için BOM'a ihtiyaç duyabilir; bazı betikler ise bu baytlar yüzünden hata verebilir.

İlgili terimler

UnicodeUnicode, dünyadaki yazı sistemlerinin harf, rakam, sembol ve emojilerine benzersiz bir numara (kod noktası) atayan uluslararası karakter standardıdır. Farklı dillerdeki metinlerin her cihazda aynı görünmesini sağlar.ASCIIASCII, harf, rakam, noktalama işareti ve bazı kontrol karakterlerini 0 ile 127 arasındaki sayılarla eşleştiren 7 bitlik karakter kodlama standardıdır. Modern kodlamaların temelini oluşturur.Karakter Kodlaması(Character Encoding)Karakter kodlaması, metindeki her harfin ve işaretin bilgisayarda hangi bayt dizisiyle saklanacağını belirleyen kurallar bütünüdür. ASCII, Windows-1254 ve UTF-8 en bilinen kodlamalardır.CSVCSV (Comma-Separated Values, virgülle ayrılmış değerler), tablo biçimindeki verileri her satırı bir kayıt, her sütunu bir ayırıcı işaretle bölünmüş alan olacak şekilde düz metin olarak saklayan dosya biçimidir.Kodlama(Coding)Kodlama, bir işin nasıl yapılacağını programlama dilinin kurallarına uygun komutlarla yazma işidir. Yazılan metne kod denir ve bilgisayar bu kodu çalıştırarak istenen işlemi yapar.Programlama(Programming)Programlama, bir problemi bilgisayarın uygulayabileceği net ve sıralı adımlara bölüp bu adımları bir programlama diliyle yazma işidir. Ortaya çıkan talimatlar dizisine program denir.Değişken(Variable)Değişken, programlamada bir değeri bellekte saklamak için kullanılan isimli alandır. İçindeki değer program çalışırken okunabilir ve değiştirilebilir; örneğin `fiyat = 250` satırı fiyat adlı bir değişken oluşturur.