[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=-