Merhaba arkadaşlar. Bugünkü yazımda sizlere ASCII - UNICODE ve UTF-8 hakkında bilgi vermeye çalışacağım. Hazırsak başlayalım.
Biz insanlar olarak, işlerimizi daha kolay yapabilmek için, bu sinyalleri daha somut birer araç olan 0 ve 1 sayılarına atamışız. Eğer devrede elektrik yoksa bu durumu 0 ile, eğer devrede elektrik varsa bu durumu 1 ile temsil ediyoruz. Eğer elektrik sinyallerinin temsili üzerinde böyle bir uzlaşmazlık olsaydı, her şeyden önce hangi sinyalin hangi sayıya karşılık geleceği konusunda da ortak bir karara varmamız gerekirdi.
Unicode şu an 110 bin karakteri içeren bir karakter setidir. Orhun Kitabeleri’nin yazıldığı eski Türkçe alfabesi bile mevcuttur.
Unicode (Evrensel Kod) her karaktere bir sayı değeri karşılığı atayan bir standarttır. Evrensel Karakter Seti (UCS) olarak bilinen ISO/IEC 10646 standardı ise, her iki organizasyonun işbirliği ile aynı sayısal karşılıkları taşımaktadır.
Bu sete göre,
UTF-8 8-bitlik bir Unicode dönüşüm biçimidir (İng: Unicode Transformation Format ). Unicode karakterlerini değişken sayıda 8 bitten oluşan bayt (kod birimi) gruplarıyla kodlamakta kullanılır.
Rob Pike ve Ken Thompson tarafından geliştirilmiştir.
•Karakterlerin her birinin kendilerine Unicode tarafıdan atanan bir kod noktası vardır. Her kod noktası 0 ile 1.114.111 arasında bir sayıdır.
UTF-8 kodlama biçimi şu kurallara göre çalışmaktadır:
ASCII
Bilgisayarların iki farklı elektrik sinyali ile çalıştığını, bu iki farklı sinyalin de 0 ve 1 sayıları ile temsil edildiğini, bilgisayarla metin işlemleri yapabilmek için ise bu sayıların belli karakterlerle eşleştirilmesi gerektiğini biliyoruz.Biz insanlar olarak, işlerimizi daha kolay yapabilmek için, bu sinyalleri daha somut birer araç olan 0 ve 1 sayılarına atamışız. Eğer devrede elektrik yoksa bu durumu 0 ile, eğer devrede elektrik varsa bu durumu 1 ile temsil ediyoruz. Eğer elektrik sinyallerinin temsili üzerinde böyle bir uzlaşmazlık olsaydı, her şeyden önce hangi sinyalin hangi sayıya karşılık geleceği konusunda da ortak bir karara varmamız gerekirdi.
Elektriğin var olmadığı durumu 0 yerine 1 ile temsil etmek akla pek yatkın olmadığı için uzlaşmada bir problem çıkmıyor. Ama karakterler böyle değildir. Onlarca karakterin sayılarla eşleştirilmesi gereken bir durumda, ortak bir eşleştirme düzeni üzerinde uzlaşma sağlamak hiç de kolay bir iş değildir. Zaten 1960’lı yılların başına kadar da böyle bir uzlaşma sağlanabilmiş değildi. Her bilgisayar üreticisi sayıları farklı karakterlerle eşleştiriyor, yani birbirlerinden tamamen farklı karakter kodlama sistemleri kullanıyordu.
İşte bu kargaşayı ortadan kaldırmak gayesiyle, Bob Bemer ve ekibi hangi sayıların hangi karakterlere karşılık geleceğini belli bir standarda bağlayan bir tablo oluşturdu. Bu standarda ise American Standard Code for Information Interchange, yani ‘Bilgi Alışverişi için Standart Amerikan Kodu’ veya kısaca ‘ASCII’ adı verildi.
ASCII adı verilen sistem, birtakım sayıların birtakım karakterlerle eşleştirildiği basit bir tablodan ibarettir.
ASCII tablosunda toplam 128 karakterin sayılarla eşleştirilmiş olduğunu görüyoruz. 128 adet sayı 7 bite karşılık gelir. Dolayısıyla ASCII 7 bitlik bir sistemdir.
UNICODE
Unicode (Evrensel Kod) her karaktere bir sayı değeri karşılığı atayan bir standarttır. Evrensel Karakter Seti (UCS) olarak bilinen ISO/IEC 10646 standardı ise, her iki organizasyonun işbirliği ile aynı sayısal karşılıkları taşımaktadır.
Bu sete göre,
- Yeryüzündeki tüm karakterlere bir sayı değeri atamayı amaçlamaktadır.
- Zaman içinde yeni karakterler eklenebilir ama eski karakterlerin sayı değerleri aynı kalır.
- Sayı değerleri UCS-4 adlı 31 bitlik set üzerinden verilir. İlk 7 bit ``Group``, sonraki 8 bit ``Plane``, sonraki 8 bit ``Row``, en son 8 bit ``Cell`` olarak gruplanır.
UTF-8
Rob Pike ve Ken Thompson tarafından geliştirilmiştir.
•Karakterlerin her birinin kendilerine Unicode tarafıdan atanan bir kod noktası vardır. Her kod noktası 0 ile 1.114.111 arasında bir sayıdır.
UTF-8 kodlama biçimi şu kurallara göre çalışmaktadır:
- Her karakterin birinci kod biriminin başında o karakteri kodlayan toplam kod birimi sayısı kadar hane 1 ve bu hanelerden sonraki ilk hane 0'dır.
- Aynı karakteri simgeleyen sonraki tüm baytların başındaki ilk iki hane 10'dır.
- Örneğin, ş harfinin Unicode kod noktası U+015F'tir.
Yorumlar
Yorum Gönder