Platform SDK: International Features

Character Sets Used in Filenames

Window manager (User) and graphics device interface (GDI) use the ANSI character set; the MS-DOS FAT file system uses the OEM character set. Applications that create MS-DOS files sometimes have to use the CharToOem and OemToChar functions to translate between these character sets. However, NTFS is capable of storing file names in Unicode; no translation is necessary with NTFS.

With Unicode implementations of the file-system functions, it is not necessary to perform translations to and from ANSI and OEM character sets. Instead, you can use a single source file to compile non-Unicode versions of an application by providing macros for functions that are not invoked when compiling for Unicode, such as CharToOem and OemToChar.

The special file name characters in MS-DOS are unchanged in Unicode file names:

"\," "/," ".," "?," "*."

These special characters are in the ASCII range of characters (0x00 through 0x7F) and their Unicode equivalents are simply the same values in a 2-byte form: 0x0000 through 0x007F.