Set di caratteri usati nei nomi di file
NTFS archivia i nomi di file in Unicode. Al contrario, i file system FAT12, FAT16 e FAT32 meno recenti usano il set di caratteri OEM. Per altre informazioni, vedere Tabelle codici.
Le applicazioni non Unicode che creano file FAT a volte devono usare le funzioni di conversione della libreria di runtime C standard per tradurre tra il set di caratteri della tabella codici Di Windows e il set di caratteri della tabella codici OEM. Con le implementazioni Unicode delle funzioni del file system, non è necessario eseguire tali traduzioni.
L'applicazione può usare tipi di stringa generici, come descritto in Tipi di dati di Windows per stringhe. L'applicazione può anche usare prototipi di funzione generici usando tecniche descritte in Convenzioni per i prototipi di funzione. Per i tipi di stringa generici o i prototipi di funzioni generici, l'applicazione può usare un singolo file di origine per compilare una versione Unicode o non Unicode. Per consentire questa operazione, l'applicazione fornisce macro per le funzioni che non vengono richiamate durante la compilazione per Unicode.
Nei file system NTFS e FAT i caratteri del nome file speciali sono: '\', '/', '.', '?'e '*'. Nelle pagine codici OEM questi caratteri speciali si trovano nell'intervallo di caratteri ASCII (0x00 tramite 0x7F). Gli equivalenti Unicode sono gli stessi valori in un formato a 2 byte, 0x0000 tramite 0x007F.
Attenzione
I set di caratteri della tabella codici windows e della tabella codici OEM usati nei sistemi operativi in lingua giapponese contengono il simbolo Yen (^) anziché una barra rovesciata (\). Pertanto, il simbolo Yen è un carattere vietato per i file system NTFS e FAT. Quando si esegue il mapping unicode a una tabella codici in lingua giapponese, WideCharToMultiByte e altre funzioni di conversione mappano entrambe le barre rovesciata (U+005C) e il normale simbolo Unicode Yen (U+00A5) allo stesso carattere. Per motivi di sicurezza, le applicazioni non devono in genere consentire il carattere U+00A5 in una stringa Unicode che potrebbe essere convertita come nome file FAT. Per altre informazioni, vedere Considerazioni sulla sicurezza: Funzionalità internazionali.
Argomenti correlati