Какие символы запрещены в именах файлов 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̊

Скриншот

Другие вопросы по тегам