UTF-8'deki bir devam baytı, en üstteki iki bitin 10
olduğu herhangi bir bayttır. Çoklu bayt dizilerindeki sonraki baytlardır. Aşağıdaki tablo yardımcı olabilir:
İşte
Unicode code points Range Encoding Binary value
------------------- -------- --------------------------
U+000000-U+00007f 0xxxxxxx 0xxxxxxx
U+000080-U+0007ff 110yyyxx 00000yyy xxxxxxxx
10xxxxxx
U+000800-U+00ffff 1110yyyy yyyyyyyy xxxxxxxx
10yyyyxx
10xxxxxx
U+010000-U+10ffff 11110zzz 000zzzzz yyyyyyyy xxxxxxxx
10zzyyyy
10yyyyxx
10xxxxxx
görebilirsiniz nasıl Unicode kod noktaları UTF-8 çok baytlık bayt dizileri için harita ve onların dengi ikili değerler. Bir bayt bir 0
biti ile başlayıp
- ise, tek bir bayt değeri az 128
- o
11
ile başlıyorsa, bir çok ilk bayt olduğunu var: temel kuralları bu vardır -bayt dizisi ve başlangıçta 1
bit sayısı, toplamda kaç bayt olduğunu gösterir (110xxxxx
, iki bayta sahiptir, 1110xxxx
üç tanesine sahiptir ve 11110xxx
'un dördü vardır).
10
ile başlıyorsa, devam eden bir bayttır.
Bu fark bu şekilde bir kod noktası ilk baytı bulmak için bir dizi içinde herhangi bayt yedekleyemeyebilirsiniz olarak oldukça kullanışlı işleme sağlar. Sadece 10
bit ile başlamamış birini buluncaya kadar geriye doğru arama yapın.
Benzer şekilde, bir UTF-8 strlen
için yalnızca 10xxxxxx
bayt saymaz.
Vikipedi makalesini yeni düzenleyen biri gibi görünüyor. (: – tripleee