Re: Postulat: cancelowac posty pisane w cp1250 (problem z Forte Agentem).

Autor: Marcin 'Qrczak' Kowalczyk (qrczak_at_knm.org.pl)
Data: Thu 10 Aug 2000 - 12:09:56 MET DST


Thu, 10 Aug 2000 05:25:40 +0200, Adam Twardoch <adam.twardoch_at_euv-frankfurt-o.de> pisze:

> "The international standard ISO/IEC 10646 allows for two forms
> of use, a two-octet (= byte) form known as UCS-2 and a four-octet
> form known as UCS-4. The Unicode Standard, as a profile of ISO/IEC
> 10646, chooses the two-octet form, which is equivalent to saying
> that characters are represented in 16-bits per character. "

Nie całkiem equivalent. Unikod to więcej niż 64k znaków
(http://www.unicode.org/unicode/alloc/Pipeline.html), z tym że
(w odróżnieniu od ISO-10646) jako jedynej ich reprezentacji używa
UTF-16, gdzie znaki spoza 64k są zapisywane parą szesnastobitowych
znaków.

Myślę że 90% spośród programów, w których to będzie miało znaczenie,
zignoruje ten fakt i nie będzie poprawnie obsługiwać UTF-16. Będzie
traktować te paczki 16 bitów jako samodzielne znaki.

Dlatego lepiej na wewnętrzne potrzeby używać 31-bitowego UCS-4
(pod Linuxem w C/C++ wchar_t ma 32 bity), a na zewnątrz UTF-8.

Pod Windows AFAIK normą jest UTF-16. UTF-16 zaprzecza idei
reprezentowania jednego znaku w jednym obiekcie.

-- 
 __("<  Marcin Kowalczyk * qrczak_at_knm.org.pl http://qrczak.ids.net.pl/
 \__/
  ^^                      SYGNATURA ZASTĘPCZA
QRCZAK


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 16:35:43 MET DST