Какие символы запрещены в именах файлов OS X?

Какие символы запрещены в именах файлов OS X?

Существует ли список символов, которые недопустимы в именах файлов и путях в OS X?

решение1

?позволено.

Для HFS+ запрещены только 0x00( NUL) и .:

:однако в программном обеспечении на основе POSIX он переключается на /:

альтернативный текст альтернативный текст

Спасибо Грэму Ли, который поправил меня!

решение2

Как сказал Дэниел Бек, NUL и ":" (он же "/" в контексте POSIX) запрещены; однако, все сложнее. Имена файлов HFS+ должны храниться в формате UTF-8, в полностью разложенном виде, с составными символами, хранящимися в каноническом порядке (см.тн1150). Поэтому ответ на ваш вопрос зависит от того, что вы подразумеваете под «характером»:

Если вас интересует последовательность байтов, из которых состоят имена файлов, то любая последовательность, которая не является допустимой кодировкой UTF-8 (или не разложена должным образом), запрещена.

Если вы имеете в виду кодовые точки Unicode, то это правило разложения по-прежнему запрещает любую точку, представляющую собой акцентированный символ (вместо этого она должна храниться как базовая буква + объединение акцентов) (см.tn1150таблица).

решение3

Согласно Википедии,http://en.wikipedia.org/wiki/HFS_PlusРазрешен любой символ юникода, включая NUL. Но многие приложения будут накладывать собственные ограничения, такие как '/' и т. д.

решение4

В MacOS, по крайней мере, смонтированные файловые системы HFS и exFAT, по-видимому, не поддерживают следующую последовательность символов UTF-16 0x61 ("a") 0x30a (звонок поверх -https://www.compart.com/en/unicode/U+030A), если посмотреть на последовательность байтов в имени файла после замены байтов на little endian, то она становится такой:

"61 00 0а 03"

Полагаю, проблема в том, что эта последовательность байтов переходит в 0xE5 ("å"), что, по-видимому, является каким-то общим символом пробела в MacOS.

Если диск не защищен от записи, такие файлыикаталоги мгновенно удаляются. Людям, работающим в правоохранительных органах Скандинавии, вероятно, стоит внимательно прочитать это, прежде чем отправлять файлы и документы между департаментами!

Когда началась эта проблема, неизвестно, но, вероятно, она существует с начала 70-х (вспомните VAX :-)

Эти файлы и имена каталогов проще всего создавать с помощью компьютеров Linux, FreeBSD или Windows. Просто откройте проводник и создайте документ или каталог, содержащий указанный выше символ. Затем подключите портативный диск к компьютеру MacOS и посмотрите, что произойдет.

Для вашего удобства я постарался вставить сюда испорченный символ и еще несколько примеров этих «умляутов», как их называют по-немецки:

å b̊ c̊

Скриншот

Связанный контент