据我所知 - NTFS支持Unicode文件名(作为Micorsoft声称的UTF-16?).
但官方MSDN文档对于在FAT-32上用于存储文件名(文件路径)的代码页非常模糊.
在这里它说OEM代码页(我假设CP437)用于存储文件名:http://msdn.microsoft.com/en-us/library/windows/desktop/dd317748.aspx
但事实证明,可以有不同的OEM代码页,CP437就是其中之一:http://msdn.microsoft.com/en-us/library/windows/desktop/dd317752.aspx
而且我们现在所有像mount这样的实用程序都支持更多不同的FAT代码页,而不仅仅是OEM代码页集.
那么FAT-32文件名的实际cdepage是什么?这取决于FAT卷创建时的系统代码页?FAT可以支持真正的双字节字符集代码页,如UTF-16吗?或UTF-8等多字节字符集代码页是限制?
更具体的问题: 当我使用CreateFileW函数(如MSDN所述,使用UTF-16作为文件名代码页)在FAT-32卷上创建文件时会发生什么?