Почему Unicode не используется для зарезервированных символов файловой системы?

Я действительно хотел бы использовать символы как"?" в Windows для имен файлов. Я понимаю, почему они резервируются, но почему они не имеют, или они будут когда-либо обходить это при помощи unicode символов, которые выглядят одинаково, но (очевидно) имеют различные коды Unicode?

Я думаю, совершенно возможно, но в противном случае почему?

3
задан 28.09.2016, 15:06

3 ответа

Я думаю причина, которая они не, из-за потенциала для порождения беспорядка. Если у Вас есть символ, который похож на a"?" но имеет другой код unicode - как Вы скажете различие?

Как Вы объяснили бы это кому-то? "У Вас не может быть вопросительного знака в Вашем имени файла, но у Вас может быть thing-that-looks-like-a-question-mark-but-isn't, и вводить его только необходимо использовать это 5 сочетаний клавиш".?

Лучше (по-моему), исключить их полностью и избежать ошибок.

2
ответ дан 07.12.2019, 23:27

Символы, которые не позволяются в имени файла:

  • < (меньше, чем)
  • > (больше, чем)
  • : (двоеточие)
  • " (двойная кавычка)
  • / (наклонная черта вправо)
  • \ (обратная косая черта)
  • | (вертикальная панель или канал)
  • ? (вопросительный знак)
  • * (звездочка)

по данным Microsoft Naming Conventions.

Это то, к чему Вы обращались?

Причина состоит, вероятно в том, потому что с нею также были бы трудно иметь дело файлы с теми символами в них в старом command.com оболочка, например. ? также средства любой символ, * также средства любой файл, и т.д.

Вместо того, чтобы преподавать всех, как обработать те особые случаи, они запретили его, помогая написать сценарий.

Не было бы эквивалентов Unicode для тех символов, и если бы был эквивалент, то он все еще не решил бы ту проблему: существующий ASCII ? и * должен был бы все еще работать подстановочными знаками, иначе все должны будут переписать их сценарии.

2
ответ дан 07.12.2019, 23:27

Можно использовать те символы теперь сами. Но я предполагаю, что Вы означаете иметь операционную систему, автоматически транслитерируют между вопросительным знаком ASCII, например, и двойником, таким как ﹖ (SMALL QUESTION MARK - UFE56). Я действительно не думаю, что это удовлетворительно, тем более, что Linux и другие, где единственные недопустимые символы для имен файлов являются наклонной чертой (/) и пустой указатель (ASCII 0), примите те символы с готовностью.

Дальнейшее чтение:

1
ответ дан 07.12.2019, 23:27

Теги

Похожие вопросы