Udostępnij za pośrednictwem


Obsługa znaków odstępów w nazwach plików i folderów dla systemu Windows

W tym artykule opisano obsługę białych znaków w nazwach plików i folderów.

Oryginalny numer KB: 2829981

Podsumowanie

Nazwy plików i folderów rozpoczynające się lub kończące się spacją ASCII (0x20) zostaną zapisane bez tych znaków. Nazwy plików i folderów kończące się znakiem kropki ASCII (0x2E) również zostaną zapisane bez tego znaku. Wszystkie inne znaki końcowe lub wiodące znaki białych znaków są zachowywane.

Na przykład:

  • Jeśli plik zostanie zapisany jako "Foo.txt", gdzie znaki wiodące są spacją ASCII (0x20), zostaną zapisane w systemie plików jako "Foo.txt".
  • Jeśli plik zostanie zapisany jako "Foo.txt", gdzie znaki końcowe są spacją ASCII (0x20), zostanie on zapisany w systemie plików jako "Foo.txt".
  • Jeśli plik zostanie zapisany jako ". Foo.txt", gdzie znaki wiodące to okres ASCII (0x2E), zostanie zapisany w systemie plików jako ". Foo.txt".
  • Jeśli plik zostanie zapisany jako "Foo.txt"., gdzie znaki końcowe są kropką ASCII (0x2E), zostaną zapisane w systemie plików jako "Foo.txt".
  • Jeśli plik jest zapisywany jako "Foo.txt", gdzie znaki wiodące są alternatywnym znakiem odstępu, takim jak Spacja ideograficzna (0x3000), zostanie on zapisany w systemie plików jako "Foo.txt". Znaki wiodącego odstępu nie są usuwane.
  • Jeśli plik zostanie zapisany jako "Foo.txt", gdzie znaki końcowe są alternatywnym znakiem odstępu, takim jak spacja ideowa (0x3000), zostanie on zapisany w systemie plików jako "Foo.txt". Znaki końcowe białych znaków nieusuwane. Nazwy plików i folderów, które zaczynają się lub kończą znakiem odstępu, są wyliczane inaczej przez interfejsy API Win32 i WinRT ze względu na wymagania ekosystemu.

Więcej informacji

Znaki odstępu

Istnieją różne znaki odstępu reprezentujące różne szerokości "spacji" (glyphs). Tylko znaki spacji ASCII (0x20) i ASCII Period (0x24) są obsługiwane specjalnie przez Menedżera obiektów. Mimo że znak spacji ideograficznej (0x3000) jest również generowany przy użyciu paska spacji (po włączeniu funkcji IME), nie jest obsługiwany specjalnie.

  • 0x0020 SPACJA
  • 0x00A0 BRAK ODSTĘPU
  • 0x1680 ZNAK KOSMICZNY OGHAM
  • 0X180E MONGOLSKI SEPARATOR VOWEL
  • 0x2000 EN QUAD
  • 0x2001 QUAD EM
  • 0x2002 EN SPACE
  • 0x2003 EM SPACE
  • 0x2004 TRZY NA MIEJSCE EM
  • 0x2005 PRZESTRZEŃ CZTERY NA EM
  • 0x2006 PRZESTRZEŃ SZEŚĆ NA EM
  • 0x2007 OBSZAR RYSUNKU
  • 0x2008 SPACJA INTERPUNKCYJNY
  • 0x2009 CIENKA PRZESTRZEŃ
  • 0x200A PRZESTRZEŃ NA WŁOSY
  • 0x200B ZERO WIDTH SPACJI
  • 0x202F WĄSKIE MIEJSCE BEZ PRZERW
  • 0X205F ŚREDNIE MIEJSCE MATEMATYCZNE
  • 0x3000 PRZESTRZEŃ IDEOGRAPHIC
  • 0XFEFF ZERO WIDTH NO-BREAK SPACE

Menedżer obiektów

Znaki ASCII Spacja (0x20) na początku lub na końcu nazwy pliku lub folderu są usuwane przez Menedżera obiektów podczas tworzenia.

Znaki okresu ASCII (0x2E) na końcu nazwy pliku lub folderu są usuwane przez Menedżera obiektów podczas tworzenia.

Wszystkie inne znaki wiodące lub końcowe są zachowywane przez Menedżera obiektów.

Wyliczenie interfejsu API

Win32 API

Interfejs API Win32 (CreateFile, FindFirstFile itp.) używa metody bezpośredniej do wyliczania plików i folderów w lokalnym lub zdalnym systemie plików. Wszystkie pliki i foldery można odnaleźć niezależnie od dołączania lub lokalizacji znaków odstępów.

WinRT API

Interfejs API WinRT jest przeznaczony do obsługi wielu dostawców danych (dysków fizycznych, usługi OneDrive, Facebooka itp.). Aby to osiągnąć, interfejs API WinRT używa aparatu wyszukiwania do wyliczania plików i folderów. Ze względu na podejście wyszukiwania do wyliczenia interfejs API WinRT (StorageFile, StorageFolder itp.) nie obsługuje nazw plików i folderów z końcowymi znakami odstępów innych niż ASCII Spacja (0x20) i Okres ASCII (0x2E) znajdujący się w lokalnym lub zdalnym systemie plików. Obsługuje on wiodące znaki odstępów innych niż ASCII.

Obserwowane zachowanie

Eksplorator plików i aplikacje klasyczne

Wszystkie pliki i foldery są widoczne w Eksplorator plików i aplikacjach klasycznych niezależnie od dołączania lub lokalizacji znaków odstępów.

Aplikacje ze sklepu Microsoft Store

W przypadku korzystania z selektora plików pliki z końcowym znakiem odstępu innego niż ASCII nie są wyświetlane. Zawartość podfolderów z końcowymi znakami odstępów innych niż ASCII nie jest wyświetlana w selektorze plików. Wyświetlane są pliki lub foldery zawierające wiodący znak odstępu innego niż ASCII.