GUI で正しく表示するために、ファイルシステム内のファイル名の文字エンコーディングを知りたいです。
どうすればいいですか?
ファイル システム (FAT、NTFS、ext3 など) によって文字エンコードが異なると思います。
ありがとうございました
(私は C++ で作業していますが、このトピックは言語とは関係ありません)
GUI で正しく表示するために、ファイルシステム内のファイル名の文字エンコーディングを知りたいです。
どうすればいいですか?
ファイル システム (FAT、NTFS、ext3 など) によって文字エンコードが異なると思います。
ありがとうございました
(私は C++ で作業していますが、このトピックは言語とは関係ありません)
NTFS は Unicode (UTF-16) です。exFATもUnicodeです。
元の FAT と fAT32 は OEM 文字セットを使用します (詳細についてはMSDNを参照してください)。
Linux および Unix では、ファイル名に NUL 以外のバイトが含まれる場合があり、文字セットは定義されていません。したがって、各アプリケーションは、どちらを使用するかを決定します。多くのアプリケーションは UTF8 を使用します。この質問の詳細を参照してください。
上記の UNIX アプローチは、ほとんどのファイルシステムで使用されています (主に、「文字セット」の概念は、ストレージ レベルよりも OS レベルでより多くの意味を持つためです)。ファイル名の文字に関する FS の機能と要件は、こちら(表 2 列 3) で確認できます。