Какие символы запрещены в именах файлов OS X?
Есть ли список символов, которые не допускаются в именах файлов и путях в OS X?
4 ответа
?
позволено.
Только 0x00
(NUL
) а также :
запрещены для HFS+.
:
однако в ПО на основе POSIX переключается на /
:
Спасибо Грэму Ли, который исправил меня в этом!
Как сказал Даниэль Бек, NUL и ":" (aka "/" в контексте POSIX) запрещены; однако, это сложнее, чем это. Имена файлов HFS+ должны храниться в формате UTF-8, в полностью разложенном виде, с составлением символов, сохраненных в каноническом порядке (см. Tn1150). Таким образом, ответ на ваш вопрос зависит от того, что вы подразумеваете под "характером":
Если вас интересует последовательность байтов, составляющих имена файлов, любая последовательность, которая не является допустимой UTF-8 (или неправильно разложена), запрещена.
Если вы имеете в виду кодовые точки Юникода, это правило декомпозиции по-прежнему запрещает любую точку, представляющую символ с акцентом (вместо этого она должна храниться как базовая буква + объединение акцентов) (см. Таблицу tn1150).
Согласно википедии, http://en.wikipedia.org/wiki/HFS_Plus разрешен любой символ Юникода, включая NUL. Но многие приложения будут налагать свои собственные ограничения, такие как "/" и так далее.
В MacOS, по крайней мере, смонтированные файловые системы HFS и exFAT, по-видимому, не поддерживают следующую последовательность символов UTF-16 0x61 («a») 0x30a (звонок — https://www.compart.com/en/unicode/U+030A) , глядя на последовательность байтов в имени файла после замены байтов на прямой порядок байтов, она становится такой:
"61 00 0а 03"
Я предполагаю, что проблема в том, что эта последовательность байтов переходит в 0xE5 («å»), который в MacOS выглядит как какой-то общий символ белого цвета.
Если диск не защищен от записи, такие файлы и каталоги мгновенно удаляются. Людям, работающим в правоохранительных органах Скандинавии, вероятно, следует внимательно прочитать это перед отправкой файлов и документов между департаментами!
Когда началась эта проблема, неизвестно, но, вероятно, так было с начала 70-х (помните VAX :-)
Эти файлы и имена каталогов легче всего создать на компьютерах с ОС Linux, FreeBSD или Windows. Просто откройте проводник и создайте документ или каталог, содержащий вышеупомянутый символ. Затем подключите переносной диск к компьютеру MacOS и посмотрите, что произойдет.
Для вашего удобства я попытался вставить сюда ломаный символ и еще несколько примеров этих «умлаутов», как они называются по-немецки:
å b̊ c̊