Metaproblem ke konferenci samotne

Michal Kubecek mike na mk-sys.cz
Úterý Srpen 31 11:10:10 CEST 2004


On Tue, Aug 31, 2004 at 10:36:35AM +0200, Ing. Pavel PaJaSoft Janoušek wrote:
> 
> 	Domnívám se (ale mohu se mýlit), že UNICODE v žádné podobě nezná
> nic jako šířku znaku proměnlivé délky (obdoba standardu, který byl i v

Tvrdil jsem snad něco takového? Pouze jsem napsal, že problém UTF-8,
spočívající v různé délce znaku (tj. tom, že různé znaky jsou zapsány
různým počtem bytů) kódování UTF-16 neodstraňuje, protože v UTF-16 platí
totéž. A na tom trvám.

> 	Takže to nebylo tak, že osvícený svět se usnesl na UNICODE,
> který MS převzal, když už nemohl jinak, on to daleko dříve udělal po
> svém, protože v podstatě jako jedinný na světě dodával krabicový

Stejně tak jako mnozí jiní, někteří z nich se navíc na určitých
standardech dokázali i dohodnout. Tyto standardy se pak do značné míry
promítly i do pozdějších standardů Unicode.

> > Analogicky to funguje i pro delší, např. 32-bitová čísla. Dokud
> > pracujete na jedné platformě, je to jedno, ale jakmile data vyměňujete
> > mezi platformami, musíte se na jedné variantě dohodnout. Protože UTF-8
> 
> 	Měl jsem za to, že jedna z podnorem UNICODE řeší i toto a tedy
> přenos mezi MAC a Intel je bez problémů (přestože Motorola vs Intel)

To není jen otázka Unicode, to je obecný problém, jakmile vyměňujete
data mezi LE a BE platformou, ať už přes soubor nebo po síti. Vždy se
buď musíte na jedné verzi dohodnout nebo soubor označit - a to buď např.
pomocí metainformací nebo uvnitř.

> > se u UTF-16 ujal: na začátek souboru přidat značku, podle níž se to
> > pozná. Pro tyto účely se používá znak "zero width 
> > non-breakable space",
> 
> 	Nedonalá, alespoň v MS Windows dříve než nastoupil
> sofistikovanější alg. (Win2k?) když ta značka (2 bytes) nebyla, tak se
> vše považovalo za ASCII, něco jako UNICODE 32-bit se naprosto nebralo v
> potaz...

To není problém jen 32-bitového Unicode, to je problém jakéhokoli
kódování, které má jako základní jednotku delší blok než 1 byte. Tedy i
toho UTF-16 nebo UCS-2, které Windows používají.

							  Michal Kubeček



Další informace o konferenci Linux