UTF-8 [Was: Sendmail remote root]

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Březen 16 02:29:08 CET 2003


On Sun, 9 Mar 2003, Milan Kerslager wrote:

> Dokonce to prectes i ve Windows, kde je UTF-16 (subset UTF-8),

Abychom predesli nedorozumenim:

UTF-16 ani UTF-8 nejsou znakove sady ani "coded character set" (tedy
zobrazeni znakove sady do mnoziny ciselnych kodu, coz je obvykly vyznam,
kterym se chape ponekud nepresny pojem "kodovani") a UTF-16 neni
podmnozina UTF-8.

Jako znakove sady resp. CCS muzeme chapat ruzne verze Unicode resp. ruzne
casti ISO 10646. Unicode 3.0 (a nizsi, resp. 10646-1) byl omezen na
interval 0..2^16 - 1 (BMP, Basic Multilingual Plane).

UTF-8 i UTF-16 jsou zpusoby, jak transformovat kody do posloupnosti bajtu
(v pripade UTF-8) resp 16-bitovych hodnot (v pripade UTF-16, kde to muzeme
pochopitelne jeste dale rozepsat po 8 bitech na jednotlive bajty). A oba
dva zpusobu dovoluji reprezentovat vsechny platne kody podle Unicode resp.
ISO 10646, cili zhruba 0 az 2^20 + 2^16 - 1. V pripade UTF-16 se pro to
pouzivaji tzv. surrogates (tedy cesky nahrazky), coz jsou vyhrazene kody
v BMP pouzivane ve dvojicich, ktere dokazi reprezentovat vsechny hodnoty
od 2^16 do 2^20 + 2^16 - 1. (Ovsem MS Windows pred XP sice jako na
prvni pohled UTF-16 pouzivaji, ale surrogates nepodporuji.)

Krome toho je i UTF-32, kde jsou jednotlive kody primo zapsany jako
32-bitove hodnoty.

Vice viz www.unicode.org.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux