İçeriğe geç
parazade

Karakter Kodlaması Nedir?

İngilizce: Character Encoding

Yayın: · Son güncelleme:

Karakter Kodlaması Nedir? Kısaca

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.

Karakter Kodlaması nedir?
İçindekiler
  1. Karakter kodlaması nedir?
  2. Hangi kodlamalar yaygındır?
  3. Bozuk karakterler nasıl düzeltilir?

Karakter kodlaması nedir?

Karakter kodlaması, metnin bilgisayarda sayılara ve oradan baytlara nasıl çevrileceğini tanımlayan sistemdir. Bilgisayar "ş" harfini doğrudan tanımaz; yalnızca bir bayt dizisi görür. Hangi dizinin hangi harfe karşılık geldiğini kodlama söyler.

Aynı bayt dizisi farklı kodlamalarda farklı karakterlere denk gelebilir. Metni yazan program ile okuyan program aynı kodlamayı kullanmazsa harfler bozulur. Türkçe metinlerde "ı" yerine "ý" ya da "ı" görmenizin nedeni budur.

Hangi kodlamalar yaygındır?

Türkiye'deki kullanıcıların karşılaşabileceği başlıca kodlamalar şunlardır:

Kodlama Özellik
ASCII 128 karakter, Türkçe harf yok
ISO-8859-9 Türkçe için tek baytlık Latin-5 tablosu
Windows-1254 Eski Windows sürümlerinin Türkçe tablosu
UTF-8 Tüm Unicode karakterleri, 1-4 bayt

Eski tek baytlık tablolar her dil için ayrı hazırlandığından bir belgede hem Türkçe hem Yunanca harf kullanmak zordu. UTF-8 bu sınırı kaldırdığı için yeni projelerde varsayılan tercih hâline geldi.

Bozuk karakterler nasıl düzeltilir?

İlk adım dosyanın hangi kodlamayla kaydedildiğini bulmaktır. VS Code ya da Notepad++ gibi editörler sağ alt köşede dosyanın kodlamasını gösterir ve "farklı kodlamayla yeniden aç" seçeneği sunar. Varsayımsal bir örnek: muhasebe programından aldığınız bir CSV dosyası Windows-1254 ile kaydedilmişse, onu UTF-8 olarak açtığınızda Türkçe harfler bozulur; doğru kodlamayı seçince düzelir.

Kalıcı çözüm, ekipteki tüm araçları aynı kodlamaya ayarlamaktır. Editör, veritabanı, web sunucusu ve dışa aktarım ayarlarını UTF-8 yapmak, verinin bir sistemden diğerine geçerken bozulma riskini büyük ölçüde azaltır.

Sıkça Sorulan Sorular

Karakter kodlaması ile şifreleme aynı şey mi?

Hayır. Kodlama metni herkesin bildiği bir kurala göre baytlara çevirir, gizlilik sağlamaz. Şifreleme ise veriyi yalnızca anahtarı bilen kişinin çözebileceği biçime dönüştürür.

Bir dosyanın kodlamasını nasıl öğrenirim?

Çoğu kod editörü açık dosyanın kodlamasını durum çubuğunda gösterir. Linux ve macOS'ta terminalde file komutu da tahmini kodlamayı söyler, ancak bu tahmin her zaman kesin değildir.

İlgili terimler

UTF-8UTF-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.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.Encode Decode(Encoding and Decoding)Encode (kodlama), veriyi belirli bir kurala göre başka bir biçime dönüştürmek; decode (kod çözme) ise bu biçimi yeniden orijinal hâline getirmektir. Karakter kodlaması, URL kodlaması ve Base64 en yaygın örneklerdir.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.Veritabanı(Database)Veritabanı, verilerin düzenli, aranabilir ve güncellenebilir biçimde saklandığı elektronik kayıt sistemidir. Müşteri listeleri, siparişler ve ürün bilgileri gibi veriler veritabanlarında tutulur.Web Sunucusu(Web Server)Web sunucusu, tarayıcılardan HTTP veya HTTPS üzerinden gelen istekleri karşılayan ve karşılığında web sayfası, görsel ya da veri gönderen yazılımdır. Bu yazılımın çalıştığı bilgisayara da web sunucusu denir.