Jeux de caractères utilisés dans les noms de fichiers
NTFS stocke les noms de fichiers dans Unicode. En revanche, les systèmes de fichiers FAT12, FAT16 et FAT32 plus anciens utilisent le jeu de caractères OEM. Pour plus d’informations, consultez pages de code.
Les applications non Unicode qui créent des fichiers FAT doivent parfois utiliser les fonctions de conversion standard de la bibliothèque runtime C pour traduire entre le jeu de caractères de page de codes Windows et le jeu de caractères de page de codes OEM. Avec les implémentations Unicode des fonctions du système de fichiers, il n’est pas nécessaire d’effectuer ces traductions.
Votre application peut utiliser des types de chaînes génériques, comme décrit dans Types de données Windows pour les chaînes. L’application peut également utiliser des prototypes de fonction génériques à l’aide de techniques décrites dans Conventions pour les prototypes de fonction. Pour les types de chaînes génériques ou les prototypes de fonction générique, votre application peut utiliser un fichier source unique pour compiler une version Unicode ou non Unicode. Pour ce faire, l’application fournit des macros pour les fonctions qui ne sont pas appelées lors de la compilation pour Unicode.
Dans les systèmes de fichiers NTFS et FAT, les caractères de nom de fichier spéciaux sont : « \ », « / », « . », « ? » et « * ». Sur les pages de codes OEM, ces caractères spéciaux se trouvent dans la plage ASCII de caractères (0x00 via 0x7F). Leurs équivalents Unicode sont les mêmes valeurs dans un formulaire de 2 octets, 0x0000 via 0x007F.
Prudence
La page de codes Windows et les jeux de caractères de page de codes OEM utilisés sur les systèmes d’exploitation de langue japonaise contiennent le symbole Yen (>) au lieu d’une barre oblique inverse (\). Ainsi, le symbole Yen est un caractère interdit pour les systèmes de fichiers NTFS et FAT. Lors du mappage d’Unicode à une page de codes en langue japonaise, WideCharToMultiByte et d’autres fonctions de conversion mappent les deux barres obliques inverses (U+005C) et le symbole Unicode Yen normal (U+00A5) à ce même caractère. Pour des raisons de sécurité, vos applications ne doivent généralement pas autoriser le caractère U+00A5 dans une chaîne Unicode qui peut être convertie en tant que nom de fichier FAT. Pour plus d’informations, consultez Considérations relatives à la sécurité : Fonctionnalités internationales.
Rubriques connexes
-
Unicode dans le de l’API Windows
-
considérations relatives à la sécurité : Fonctionnalités internationales