How does Windows not case-sensitive file names and paths?

On Windows, file mapping is not case sensitive. However, a case-sensitive system will be sensitive to locale settings and will deal with three cases, not two (at least according to Unicode). For various reasons, I would like to reproduce how Windows does this outside of Windows, if possible.

Does Windows use such locale support or does it perform a more predictable pattern (for example, like C # OrdinalIgnoreCase settings)?

+7
source share
1 answer

As far as I know, NTFS supports two modes:

  • POSIX Namespace:
    Any UTF-16 code block (case sensitive), with the exception of U + 0000 (NUL) and / (slash).

  • Win32 namespace:
    Any block of UTF-16 code (case insensitive), with the exception of U + 0000 (NUL) / (slash) \ (backslash) and some other characters, such as :*" , etc.

In Win32 mode, any program that uses the Win32-API will convert any character of the file name to uppercase (if possible) and use that name internally.

+2
source

All Articles