UTF-8: Revizyonlar arasındaki fark

[kontrol edilmiş revizyon][kontrol edilmiş revizyon]
İçerik silindi İçerik eklendi
Srhat (mesaj | katkılar)
Srhat (mesaj | katkılar)
Etiketler: Mobil değişiklik Mobil ağ değişikliği
52. satır:
* ''Geriye doğru uyumluluk: '' 0 ile 127 arasındaki [[ASCII]] değerleri için tek baytlık değerler kullanılmakta ve bu değerler başka karakterlerin kodlanması esnasında ortaya çıkmamaktadır. En yüksek basamaklı bit (8. bit) de bu karakterler için <code>0</code>dır. Dolayısıyla 7-bitlik ve 8-bitlik ASCII ile kodlanmış metinler UTF-8 ayrıştırıcıları tarafından sorunsuzca işlenebilir.
*''Çok baytlı ve tek baytlı karakterler arasındaki açık ayrım:'' 127'den daha büyük kod noktaları çok baytlı dizilerle gösterilir ve bu dizilerde bir adet ''başlatıcı bayt'' ve bir veya daha fazla ''devam baytı'' bulunmaktadır. Başlatıcı bayt, dizideki toplam bayt sayısı kadar <code>1</code> ve daha sonra bir adet <code>0</code> ile başlar. Devam baytlarının ise tamamı <code>10</code> ile başlamaktadır. Eğer kod noktası tek baytla kodlanıyorsa bu bayt da doğrudan <code>0</code> ile başlamaktadır.
*''Kendini eş zamanlama:'' Başlatıcı bayt, devam baytı ve tek baytın değerleri birbiriyle asla aynı olamaz. Çünkü hepsi yukarıdaki tabloda görüldüğü gibi farklı şekillerde başlamaktadır. Bu özellik UTF-8'in kendini eş zamanlayabilen bir sistem olmasını sağlar. Yani UTF-8 ile kodlanmış metinleri işleyen bir yazılım, metin içinde rastgele seçtiği bir baytın karakter başlatan bayt olup olmadığını belirleyebilir ve karakterlerin başlangıç ve bitişlerini kolayca bulabilir. <code>0xxxxxxx</code>, <code>110xxxxx</code>, <code>1110xxxx</code> ve <code>11110xxx</code> bit kalıpları karakter başlangıcını ve bir sonraki geçerli karakterin başlangıcının kaç bayt sonra olduğunu açıkça işaret etmektedir. Dolayısıyla metinde karakter arama ve bulma işlemleri kolaylaşmış olur.
* '' Kodlanmış bayt dizilerinin uzunluklarının açıkça belirtiliyor olması:'' Başlatıcı baytın başındaki <code>1</code>lerin sayısı devam eden baytların sayısını açıkça belli etmektedir. Dolayısıyla karakterin toplamda kaç bayt tarafından kodlandığı ve diğer karakterin nerede başladığı devam baytlarını tek tek incelemeden anşalaşılabilmektedir. Dolayısıyla metinde karakter arama ve bulma işlemleri kolaylaşmış olur.
<!--
* ''Clear indication of code sequence length:'' The number of high-order 1s in the leading byte of a multi-byte sequence indicates the number of bytes in the sequence, so that the length of the sequence can be determined without examining the continuation bytes.
* ''Code structure:'' The remaining bits of the encoding are used for the bits of the code point being encoded, padded with high-order 0s if necessary. The high-order bits go in the lead byte, lower-order bits in succeeding continuation bytes. The number of bytes in the encoding is the minimum required to hold all the significant bits of the code point.
-->
"https://tr.wikipedia.org/wiki/UTF-8" sayfasından alınmıştır