Kodowanie Unicode

Kodowanie Unicode (po polsku Unikod) to uniwersalny standard kodowania znaków pozwalający użyć znaki ze wszystkich języków (alfabetów) świata.

Zdefiniowany jest w dwóch standardach — Unicode i ISO-10646. Różnice między nimi są bardzo drobne, polegają np na tym, że Unicode określa sposób składu.

Unicode numeruje wszystkie znaki (nazywa je code-points) i pozwala te numery przedstawić na różne sposoby:

UTF-8
Najbardziej kompatybilna i ekonomiczna wersja dla języków używających głównie znaków alfabetu łacińskiego. Podstawowe znaki zapisywane są jako 1 bajt, a rozszerzone jako sekwencje 2ch lub więcej bajtów.
Wielobajtowe sekwencje są tak skonstruowane, że nie zawierają znaków kontrolnych US-ASCII oraz krótkie sekwencje nigdy nie są prawidłowym fragmentem dłuższej sekwencji. Dzięki temu można bezpiecznie operować na tekście UTF-8 nawet w programach, które nie wspierają Unicode, a każdy tekst w US-ASCII jest prawidłowym UTF-8.
UTF-16
Większość znaków jest zapisana jako 2 bajty, choć istnieją podobne do UTF-8 dłuższe sekwencje (tzw. surogaty). Poprzednik UTF-16, bez surogatów, nazywa się UCS-2.
Tak wewnętrznie przedstawia tekst większość współczesnych systemów operacyjnych. UTF-16 i UCS-2 nie są kompatybilne wstecz — bardzo wiele znaków tych kodowaniach zawiera bajt 0, który w ASCII interpretowany jest jako znak NUL (\0) oznaczający koniec tekstu.
UTF-32
Jednakowo opisuje wszystkie możliwe znaki, przeznaczając po 4 bajty na każdy. Ze względu na marnotrawność zapisu to kodowanie praktycznie nie jest w ogóle używane.

Zmodyfikowano: 28.02.2007, 18:12
submit