Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается поддержка символов пробелов в именах файлов и папок.
Исходный номер базы знаний: 2829981
Итоги
Имена файлов и папок, начинающиеся или заканчивающиеся пробелом ASCII (0x20), будут сохранены без этих символов. Имена файлов и папок, заканчивающиеся символом точки ASCII (0x2E), также будут сохранены без этого символа. Сохраняются все остальные конечные или ведущие символы пробелов.
Например:
- Если файл сохраняется как "Foo.txt", где ведущие символы являются пространством ASCII (0x20), он будет сохранен в файловой системе как "Foo.txt".
- Если файл сохраняется как "Foo.txt", где конечные символы являются пробелом ASCII (0x20), он будет сохранен в файловой системе как "Foo.txt".
- Если файл сохраняется как ". Foo.txt', где ведущие символы — это период ASCII (0x2E), он будет сохранен в файловой системе как ". Foo.txt'.
- Если файл сохраняется как "Foo.txt.", где конечные символы являются периодом ASCII (0x2E), он будет сохранен в файловой системе как "Foo.txt".
- Если файл сохраняется как "Foo.txt", где ведущие символы являются альтернативным символом пробела, например Ideographic Space (0x3000), он будет сохранен в файловой системе как "Foo.txt". Ведущие символы пробелов не удаляются.
- Если файл сохраняется как "Foo.txt", где конечные символы являются альтернативным символом пробелов, например Ideographic Space (0x3000), он будет сохранен в файловой системе как "Foo.txt". Конечные пробелы не удаляются. Имена файлов и папок, начинающиеся или заканчивающиеся символами пробелов, перечисляются по-разному API Win32 и WinRT из-за требований экосистемы.
Дополнительная информация
Символы пробелов
Существуют различные символы пробелов, представляющие различные ширины пробелов (глифы). Только пробелы ASCII (0x20) и точки ASCII (0x24) обрабатываются специально диспетчером объектов. Хотя символ Ideographic Space (0x3000) также создается с помощью панели пробела (при включении IME), она не обрабатывается специально.
- 0x0020 ПРОБЕЛ
- 0x00A0 ПРОБЕЛЫ БЕЗ ПЕРЕРЫВА
- 0X1680 OGHAM SPACE MARK
- РАЗДЕЛИТЕЛЬ 0X180E МОНГОЛИИ
- 0x2000 EN QUAD
- 0x2001 EM QUAD
- 0x2002 EN SPACE
- 0x2003 EM SPACE
- 0x2004 ТРЕХ-НА-ЭМ ПРОБЕЛ
- 0x2005 ЧЕТЫРЕ-НА-ЭМ ПРОБЕЛ
- 0x2006 ШЕСТИ-НА-ЭМ ПРОБЕЛ
- 0X2007 ПРОБЕЛ ФИГУРЫ
- 0X2008 ПРОБЕЛ ПРЕПИНАНИЯ
- 0X2009 ТОНКОЕ ПРОСТРАНСТВО
- 0x200A ПРОСТРАНСТВО ВОЛОС
- 0x200B НУЛЕВОЕ ПРОСТРАНСТВО ШИРИНЫ
- 0X202F УЗКИЙ ПРОБЕЛ
- 0X205F СРЕДНЕГО МАТЕМАТИЧЕСКОГО ПРОСТРАНСТВА
- 0X3000 IDEOGRAPHIC SPACE
- 0xFEFF НУЛЕВОЙ ШИРИНЫ ПРОБЕЛА
Диспетчер объектов
Символы пространства ASCII (0x20) в начале или конце файла или папки удаляются диспетчером объектов при создании.
Символы периода ASCII (0x2E) в конце файла или папки удаляются диспетчером объектов при создании.
Все остальные начальные или конечные символы пробелов сохраняются диспетчером объектов.
Перечисление API
Win32 API
API Win32 (CreateFile, FindFirstFile и т. д.) использует прямой метод для перечисления файлов и папок в локальной или удаленной файловой системе. Все файлы и папки доступны для обнаружения независимо от включения или расположения символов пробелов.
WinRT API
API WinRT предназначен для поддержки нескольких поставщиков данных (физические диски, OneDrive, Facebook и т. д.). Для этого API WinRT использует поисковую систему для перечисления файлов и папок. Из-за подхода поиска к перечислению API WinRT (StorageFile, StorageFolder и т. д.) не обрабатывает имена файлов и папок с конечными символами пробелов, отличных от ASCII Space (0x20) и точки ASCII (0x2E), находящихся в локальной или удаленной файловой системе. Он обрабатывает ведущие символы пробелов, отличных от ASCII.
Наблюдаемое поведение
проводник и классические приложения
Все файлы и папки отображаются в проводник и классических приложениях независимо от включения или расположения символов пробелов.
Приложения Microsoft Store
При использовании средства выбора файлов файлы с символом пробела, отличного от ASCII, не отображаются. Содержимое вложенных папок с конечными символами пробелов, отличных от ASCII, не отображается в средстве выбора файлов. Отображаются файлы или папки, содержащие ведущий символ пробела, отличный от ASCII.