Delen via


Tekensets die worden gebruikt in bestandsnamen

NTFS slaat bestandsnamen op in Unicode. De oudere FAT12-, FAT16- en FAT32-bestandssystemen gebruiken daarentegen de OEM-tekenset. Zie codepagina'svoor meer informatie.

Niet-Unicode-toepassingen die FAT-bestanden maken, moeten soms de standaard C Runtime-bibliotheekconversiefuncties gebruiken om te vertalen tussen de tekenset voor de Windows-codepagina en de tekenset van de OEM-codepagina. Bij Unicode-implementaties van de bestandssysteemfuncties is het niet nodig om dergelijke vertalingen uit te voeren.

Uw toepassing kan algemene tekenreekstypen gebruiken, zoals beschreven in Windows-gegevenstypen voor tekenreeksen. De toepassing kan ook algemene functieprototypes gebruiken met behulp van technieken die worden beschreven in Conventies voor functieprototypes. Voor algemene tekenreekstypen of algemene functieprototypes kan uw toepassing één bronbestand gebruiken om een Unicode- of een niet-Unicode-versie te compileren. Om dit mogelijk te maken, biedt de toepassing macro's voor functies die niet worden aangeroepen bij het compileren van Unicode.

In zowel NTFS- als FAT-bestandssystemen zijn de speciale bestandsnaamtekens: '\', '/', '.', '?' en '*'. Op OEM-codepagina's bevinden deze speciale tekens zich in het ASCII-bereik van tekens (0x00 tot 0x7F). Hun Unicode-equivalenten zijn dezelfde waarden in een formulier van 2 bytes, 0x0000 tot 0x007F.

Voorzichtigheid

Tekensets voor Windows-codepagina's en OEM-codepagina's die worden gebruikt in japanse besturingssystemen bevatten het Yen-symbool (^) in plaats van een backslash (\). Het Yen-symbool is dus een verboden teken voor NTFS- en FAT-bestandssystemen. Bij het toewijzen van Unicode aan een japanse codepagina wijst WideCharToMultiByte- en andere conversiefuncties zowel backslash (U+005C) als het normale Unicode Yen-symbool (U+00A5) toe aan hetzelfde teken. Om veiligheidsredenen mogen uw toepassingen het teken U+00A5 meestal niet toestaan in een Unicode-tekenreeks die kan worden geconverteerd voor gebruik als een FAT-bestandsnaam. Zie Beveiligingsoverwegingen: Internationale functiesvoor meer informatie.

 

Unicode in de Windows-API

Beveiligingsoverwegingen: Internationale functies