次の方法で共有


ファイル名で使用される文字セット

NTFS では、ファイル名が Unicode に格納されます。 これに対し、古い FAT12、FAT16、FAT32 ファイル システムでは OEM 文字セットが使用されます。 詳細については、「コード ページの」を参照してください。

FAT ファイルを作成する Unicode 以外のアプリケーションでは、Windows コード ページ文字セットと OEM コード ページ文字セットの間で変換するために、標準の C ランタイム ライブラリ変換関数を使用する必要がある場合があります。 ファイル システム関数の Unicode 実装では、そのような変換を実行する必要はありません。

アプリケーションでは、文字列 の Windows データ型のに関する説明に従って、汎用文字列型を使用できます。 アプリケーションでは、関数プロトタイプの 規則で説明されている手法を使用して、汎用関数プロトタイプを使用することもできます。 ジェネリック文字列型またはジェネリック関数プロトタイプの場合、アプリケーションは 1 つのソース ファイルを使用して、Unicode または Unicode 以外のバージョンをコンパイルできます。 これを可能にするために、アプリケーションは Unicode のコンパイル時に呼び出されない関数のマクロを提供します。

NTFS ファイル システムと FAT ファイル システムの両方で、特殊なファイル名の文字は '\'、'/'、'.'、'?'、'*' です。 OEM コード ページでは、これらの特殊文字は文字の ASCII 範囲 (0x00 ~ 0x7F) にあります。 Unicode と同等の値は、2 バイト形式の同じ値であり、0x007Fを通じて0x0000されます。

注意

日本語オペレーティング システムで使用される Windows コード ページと OEM コード ページの文字セットには、円記号 (\) ではなく円記号 (¥) が含まれています。 したがって、円記号は NTFS および FAT ファイル システムでは禁止されている文字です。 Unicode を日本語コード ページにマッピングする場合、WideCharToMultiByteおよびその他の変換関数バックスラッシュ (U+005C) と通常の Unicode 円記号 (U+00A5) の両方がこの同じ文字にマップされます。 セキュリティ上の理由から、通常、アプリケーションでは、FAT ファイル名として使用するために変換される可能性がある Unicode 文字列の文字 U+00A5 を許可しないでください。 詳細については、「セキュリティに関する考慮事項: 国際機能」を参照してください。

 

Windows API で Unicode を する

セキュリティに関する考慮事項: 国際機能