SORU
9 EKİM 2009, Cuma


Nasıl UTF-8 "değişken genişlikli kodlama" çalışıyor mu?

Unicode standardı yeterince 4 bayt hepsini saklamak için gereken kod noktaları vardır. Bu UTF-32 kodlaması yapar. Henüz UTF-8 kodlaması bu şekilde bir şey kullanarak çok daha küçük alanlarda bu içine sıkar "değişken genişlik". kodlaması

Aslında, yönetir temsil etmek için ilk 127 karakter US-ASCII sadece bir bayt görünüyor ki, tıpkı gerçek ASCII, yorumlamak çok ascıı metin olarak UTF-8 olmadan bir şeyler yapmanın. Güzel numara. Nasıl çalışır?

Ben sadece anlamaya okumak için bir kaç şey yaptım ve başka biri olacak diye kendi soruma cevap rica edeceğim. Artı belki birileri eğer bazı yanlış anladım varsa düzeltin.

CEVAP
9 EKİM 2009, Cuma


Her baytı bir bayt kod noktası, çoklu bayt kod noktası olsun sana birkaç bit veya çoklu bayt kod noktası devamı ile başlar. Bu gibi:

0xxxxxxx tek bayt US-ASCII kod (ilk 127 karakter)

Multi-bayt kod-puan her başlangıç bir kaç bit aslında demek "hey, size ihtiyacımız da okuyun sonraki bayt (veya iki veya üç) anlamaya çalışıyorum." Bunlar:

110xxxxx Bir karakter izler

1110xxxx İki bayt izleyin

11110xxx Üç bayt izleyin

Son olarak, bu başlangıç kodları takip bayt bu gibi görünüyor:

10xxxxxx multi-byte karakterleri devamı

Eğer bir yerde bir şeyler karıştırılmış alırsa bile neye baktığını ilk birkaç bitten, sonra anlatırsın beri, bütün sırasını kaybetmek yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011