Unicode-Dateinamen unter FAT-32?
Soweit ich weiß, unterstützt NTFS Unicode-Dateinamen (UTF-16, wie Micorsoft behauptet?).
Die offizielle MSDN-Dokumentation ist jedoch sehr vage, welche Codepage (n) zum Speichern von Dateinamen (Dateipfaden) auf FAT-32 verwendet wird.
Hier steht dasOEM-Codepage (CP437, nehme ich an) wird zum Speichern von Dateinamen verwendet:http://msdn.microsoft.com/en-us/library/windows/desktop/dd317748.aspx
Aber hier stellt sich heraus, dass es anders sein kannOEM-Codepages mit CP437 als einer von ihnen:http://msdn.microsoft.com/en-us/library/windows/desktop/dd317752.aspx
Und wir alle mögen jetzt die Dienstprogrammemontieren Unterstützt viel mehr verschiedene Codepages für FAT, als nur OEM-Codepages.
Wie lautet die aktuelle Cdepage für FAT-32-Dateinamen? Es hängt von der System-Codepage zum Zeitpunkt der Erstellung des FAT-Volumes ab. Kann FAT echte Double Byte Character Set-Codepages wie UTF-16 unterstützen? Oder sind Codepages mit Multibyte-Zeichensätzen wie UTF-8 das Limit?
Und spezifischere Frage:Was passiert, wenn ich die Funktion CreateFileW verwende (die laut MSDN UTF-16 als Dateinamen-Codepage verwendet), um eine Datei auf einem FAT-32-Volume zu erstellen?