_ RU.LINUX (2:5077/15.22) __________________________________________ RU.LINUX _
From : Leonid Broukhis 2:5020/400 21 Dec 99 12:06:38
Subj : Re: классы
________________________________________________________________________________
From: leob@mailcom.com (Leonid Broukhis)
Vladimir A. Butenko wrote:
>Ты и в третий раз не понял. Это ИСТОРИЧЕСКИ сложилось, что глифы строчных
>и прописных букв - кодируются разными символами, но в одном байте. Hу, все
Вот тебе в ответ моя последняя попытка:
Параметр системного вызова- не глифы, закодированные символами, а абстрактные
октеты. Их интерпретация - за пределами компетенции ядра ОС. А разных
библиотечных функций, открывающих файл, может быть сколько угодно,
и они могут делать, что хотят - мне не жалко. ignoreCaseOpen(),
ignoreDiacriticsOpen() - хоть залейся.
>- последняя попытка:
>
> Представь себе, что у тебя в одном байте кодируется алфавит с большими
>буквами, с маленькими буквами и с курсивом. То есть А большая, а маленькая
>и а курсивная - имеют просто три разных байтовых кода.
>
>Вопрос - должно ли слово "файл1" обозначать тот же файл, что и слово
>"файл1", где буквы-курсивные? При этом, скажем, в выдаче команды ls ты
>увидишь именно такую "курсивизацию", которую ты задал при создании файла
>(никакого авто-перекодирования нету, как тут пытались некоторые говорить).
>команды open("файл") и open("файл"), где а - курсивная - должны открыть
>один и тот же файл. Hет?
Команды _определенной программы_ - должны, _если разработчик программы
того желает_, а _системному вызову_ совершенно по фигу,
буквы там, или крокозябры. Он разбивает поданную ему последовательность
октетов, завершающуюся нулевым октетом, на подпоследовательности по
октету-разделителю, код которого равен коду символа '/' в принятой в системе
кодировке, и рассматривает получившееся как pathname components.
И все, никакого более искусственного интеллекта.
Leo
--- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400)