LINUX.ORG.RU

Двухбайтовые последовательности в линуксовых путях


0

0

Братцы, вообще в линуксовых путях (ну, именах файлов, path-ах) какие двухбайтовые последовательности считаются одним символом? Только ли те, которые начинаются с '\', или еще какие-то? А что с именами с пробелами? А что насчет unicode в путях? Вот где бы про это все почитать?

Умираю, помогите....


Что имеется в виду? В именах файлов *никакие* двухбайтовые последовательности не считаются одним символом. Собственно имя файла может содержать любые символы за исключением / (slash) поскольку он разделитель. Другое дело, что shell использует символ \ (backslash) чтобы экранировать следующий символ от специальной обработки им самим. Иными словами, в sh пишем (e. g.): cat file\ name\ with\ spaces но в C: FILE *f = fopen("file name with spaces", "r"); Заметим, что в shell можно экранировать не отдельный символ, а строку, поместив ее в кавычки (но там есть нюансы, см. info bash) Никакого Unicode в именах файлов Linux не поддерживает -- т. е. разумеется драйверы для VFAT или NTFS его поддерживают, но транслируют его в какую- либо кодировку.

aa5779
()

спасибо, а я уже так и решил :)

JekLove
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.