[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Поподробнее об XLC_LOCALE"




>>  В принципе, в настоящее время все _полагают_ что в переменных
>> типа wchar_t сидит UNICODE.
>
>  Э-э-э. Не соглашусь.
>  Содержимое wchar может быть разным для разных locale.
>  Не знаю - как сейчас с этим в glibc. Но в "фришной" libc, например,
>для простых locale в wchar просто тот же байт.


 Вот именно. Это темное место в POSIX. По крайней мере,
я не нашел.Там просто не определана кодировка wchar_t .
Сказано, что "Поведение этих функций зависит от категории
локализации LC_CTYPE". И все. В какой кодировке будет
wc - неизвестно. Как правило, задание LC_CTYPE=ja_JP.Shift-JIS
означает, что именно mb у нас будут в Shift-JIS. А в какой кодировке
будут wc -- неизвестно. Вот например в BSD это собственная кодировка :
bsd-runes, в Win32 это нормальный UCS-2 (в Windows NT), в других
системах -- по другому.

 То есть формально это может означать, что теоретически возможна
ситуация, что мы будем иметь две (N) РАЗНЫХ LC_CTYPE, для разных
преобразований :

wc                   mb
--------               -----------
UCS-2              Shift-JIS   <--- Так в Windows NT
UCS-2              EUC-JP
BSD-RUNE       Shift-JIS
BSD-RUNE       EUC-JP    <--- так в BSD


>POSIX'а по рукой нет, но...

 Я читаю в качестве стандарта :
http://www.opengroup.org/onlinepubs/7908799/index.html


>JIS явно имеет свое "длинное" представление. Кириллица там (если не
ошибаюсь)
>имеет коды 07**, греческий - 06**.
>  Чем это не wchar? И куда же девать эти коды, если wchar - именно Unicode?


 Ээээ... Насколько я понял, JIS и его вариант Shift-JIS это типичный mb.
Какой там у него будет wc -- я не знаю. Или ты хочешь сказать,
что в потоке, кодированном JIS прям так и появляются байты : 0x06, 0x0XX ?
Не может быть. JIS (и Shift-JIS) ходит по e-mail. Сейчас попробую.

 Кстати интересный вопрос, покажут ли MSIE и NN кириллицу из JIS ? ;-)
Иероглифы и кану они показывают замечательно.


>> Похоже XFree 4.0 именно таким и будет.
>  Кстати, откуда такие сведенья, что в 4.0 будет нормальный UTF.


 Видать я каких-то победных реляций начитался... :-)

--
-=AV=-