Posts Tagged ‘bart’

UTF-8 Nedir?

Mayıs 10, 2009

UTF-8,8-bitlik bir Unicode dönüşüm formatıdır. İngilizcedeki Unicode Transformation Format ’ın kısaltmasından gelmektedir. Unicode karakterlerini değişken uzunluklu bayt guruplarıyla kodlamakta kullanılır. Rob Pike ve Ken Thompson tarafından geliştirilmiştir.

i-will-not-assume-untrusted-data-is-valid-utf-8-bart

UTF-8 kodlaması Unicode karakterlerini 1-6 byte uzunluğunda diziler olarak kodlar. ASCII kodlaması içinde 0-127 arasında kalan karakterler aynen kendi kodları ile kullanılır, diğerleri ise byte dizileri haline gelir.

Özellikleri

Evrensel kodlama ile aynı sayfada farklı lisanları göstermek mümkün olabilmektedir. Ayrıca özel hazırlanmış klavyeler ile matematiksel ifadeleri yazmak da mümkün. Bütün bu farklı karakterler UTF-8 sayesinde aynı sayfada görüntülenebilmektedir. Eski stil kodlama ile türkçe karakterlerin – aslında latin alfabesinde olmayan ya da özel işaretli harflerin de – gösterimi için oldukça karışık olan harf ve rakam dizgileri kullanmak gerekiyordu. Mesela Ş harfini yazmak için Ş küçük ş içinse ş yazmak gibi.
UTF kullanarak 1 milyondan fazla karakter kodlanılabilinmektedir. Sıklıkla kullanılan 65536 karakterin kodlaması bu 1 milyondan fazla kodlamada ilk sıralarda yer almaktadır.

Örnekler

A = 00000000 010000012, yani sağ baştan sıfırdan başlayarak sayıldığıda 2′nin katları şeklinde 20 ve 26‘yı toplayarak 65 sayısını elde ediyoruz. Windows için ALT-tuşuna basılı tutarak nümerik klavyeden 65 yazdığı zaman A harfı çıkar.
天 = 0×59 0×298 = 01011001 001010012 = ALT-tuşu + 22825
⇔ = 0×21 0xd38 = 00100001 110100112 = ALT-tuşu + 1587