파일 이름에 사용되는 문자 집합
NTFS는 파일 이름을 유니코드에 저장합니다. 반면 이전 FAT12, FAT16 및 FAT32 파일 시스템은 OEM 문자 집합을 사용합니다. 자세한 내용은 코드 페이지참조하세요.
FAT 파일을 만드는 유니코드가 아닌 애플리케이션은 표준 C 런타임 라이브러리 변환 함수를 사용하여 Windows 코드 페이지 문자 집합과 OEM 코드 페이지 문자 집합 간에 변환해야 하는 경우가 있습니다. 파일 시스템 함수의 유니코드 구현에서는 이러한 변환을 수행할 필요가 없습니다.
Windows Data Types for Strings설명한 대로 애플리케이션에서 제네릭 문자열 형식을 사용할 수 있습니다. 애플리케이션은 함수 프로토타입 대한규칙에 설명된 기술을 사용하여 제네릭 함수 프로토타입을 사용할 수도 있습니다. 제네릭 문자열 형식 또는 제네릭 함수 프로토타입의 경우 애플리케이션은 단일 소스 파일을 사용하여 유니코드 또는 유니코드가 아닌 버전을 컴파일할 수 있습니다. 이를 위해 애플리케이션은 유니코드용으로 컴파일할 때 호출되지 않는 함수에 대한 매크로를 제공합니다.
NTFS 및 FAT 파일 시스템 모두에서 특수 파일 이름 문자는 '\', '/', '.', '?', '*'입니다. OEM 코드 페이지에서 이러한 특수 문자는 ASCII 문자 범위(0x7F 0x00)에 있습니다. 해당 유니코드는 0x007F 통해 0x0000 2 바이트 형식의 동일한 값입니다.
주의
일본어 운영 체제에서 사용되는 Windows 코드 페이지 및 OEM 코드 페이지 문자 집합에는 백슬래시(\) 대신 엔 기호(\)가 포함됩니다. 따라서 엔화 기호는 NTFS 및 FAT 파일 시스템에 금지된 문자입니다. 유니코드를 일본어 코드 페이지에 매핑할 때 wideCharToMultiByte및 기타 변환 함수를백슬래시(U+005C)와 일반 유니코드 엔 기호(U+00A5)를 동일한 문자에 매핑합니다. 보안상의 이유로 애플리케이션은 일반적으로 FAT 파일 이름으로 사용하기 위해 변환될 수 있는 유니코드 문자열에서 U+00A5 문자를 허용해서는 안 됩니다. 자세한 내용은 보안 고려 사항: 국제 기능참조하세요.
관련 항목
-
Windows API 유니코드