vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2007-09-19 05:57 pm

Яблочный юникод

Вот ведь учудил Аппле со своей файловой системой. Хочу создать файл с хитрым названием, запускаю "touch ёй". Поскольку система использует кодировку UTF-8, ожидаю получить имя файла из четырёх байтов d1 91 d0 b9. В Линуксе так оно и происходит. Но на маке получаем d0 b5 cc 88 d0 b8 cc 86, то есть "е ̈ и ̆ ". Мухи отдельно, котлеты отдельно. Оно, конечно, прикольно, но далеко не все прочие компоненты системы умеют с этим обходиться. Та же /bin/ls глючит нещадно.
spamsink: (Default)

[personal profile] spamsink 2007-09-19 05:20 pm (UTC)(link)
Файловая система ладно, а сколько байтов получается, если ты делаешь

cat > foo
ёй^D
ls -l foo
spamsink: (Default)

[personal profile] spamsink 2007-09-19 08:51 pm (UTC)(link)
Почему же тогда, если набрать те же две буквы в командной строке, получается шесть? Что за бардак?
spamsink: (Default)

[personal profile] spamsink 2007-09-19 08:52 pm (UTC)(link)
В смысле восемь.
spamsink: (Default)

[personal profile] spamsink 2007-09-19 09:15 pm (UTC)(link)
История повторяется. Раньше регистр в именах файлов нормализовали, сейчас - диакритику...