slrn

Pawel Krawczyk kravietz w ceti.pl
Czw, 11 Lis 1999, 14:36:28 CET


[czwartek, 11 listopad 1999], Artur Frysiak napisał(a):

> Ja już powoli głupieje. Czy UTF-8 to Unicode ? Dla mnie Unicode to 16bitowy
> zapis znaku. UTF-8 wcale taki nie jest. Raz ma 8 bitów a innym razem 24
> (jeśli dobrze pamiętam). Gdyby używać właśnie stałej długości kodowania
> (16bitów) to by można było się z tym szybciej uporać. UTF-8 (i inne UTF-x)
> ze swoją zmienną długością są wręcz niestrawne.

UTF-8 to kompromis pomiędzy 16-bitowym Unikodem i 7-bitowym ASCII.
Wszystkie znaki 7-bitowe (oprócz sterujących na początku) w UTF-8
są zapisywane normalne, tj. jako "abcdef...". Natomiast tam, gdzie
w ASCII pojawiłyby się znaki 8-bitowe (np. polskie w ISO) w UTF-8
umieszcza się 16-bitowe znaki Unicode. Zalety:

1. wzrost długości tekstu jest minimalny (w przypadku pełnego Unikodu
byłby on dwukrotny), bo 2 bajtowe są tylko nieliczne polskie znaki

2. wszystkie zalety Unikodu są zachowane w UTF-8. Pomimo, że jest
on głownie pomyślany dla tekstów używających alfabetu łacińskiego,
nic nie stoi na przeszkodzie żeby w UTF-8 napisać kawałek tekstu
po polsku (znaki 7 i 16-bitowe) i kawałek w cyrylicy (same 16-bitowe).

3. algorytm przetwarzania takiego tekstu jest prosty - wszystko c0
ma 7 bitów, to ASCII, wszystko co ma 8-bitów to połówka znaku Unicode

-- 
Pawel Krawczyk, CETI internet, Krakow. http://ceti.pl/~kravietz/



Więcej informacji o liście dyskusyjnej pld-devel-pl