Есть список символов, которые не разрешены в именах файлов и путях на OS X?
3 ответа
?
позволено.
Только 0x00
(NUL
) и :
запрещены для HFS+.
:
однако в ПО на основе POSIX переключено на /
:
Спасибо Грэму Ли, который исправил меня в этом!
Как сказал Даниэль Бек, NUL и ":" (иначе "/" в контексте POSIX) запрещены; однако это сложнее, чем это. Имена файлов HFS+ должны храниться в формате UTF-8, в полностью разложенном виде, а составные символы хранятся в каноническом порядке (см. Tn1150). Таким образом, ответ на ваш вопрос зависит от того, что вы подразумеваете под "характером":
Если вас интересует последовательность байтов, составляющих имена файлов, любая последовательность, которая не является допустимой UTF-8 (или неправильно разложена), запрещена.
Если вы имеете в виду кодовые точки Юникода, это правило декомпозиции по-прежнему запрещает любую точку, представляющую символ с акцентом (вместо этого она должна храниться как базовая буква + объединение акцентов) (см. Таблицу tn1150).
Согласно википедии, http://en.wikipedia.org/wiki/HFS_Plus разрешен любой символ Юникода, включая NUL. Но многие приложения будут накладывать собственные ограничения, такие как «/» и так далее.