Windowsで作成したzipファイル中のファイル名はShift_JISになる
2009年 7月 27日 01:15Windowsで作成したzipファイル中のファイル名の文字コードが何になるかを調べたメモ。
※ファイルの中身ではなくて、日本語のファイル名の文字コードについての説明です。
- Windows NT系のOS(xp,vista等)は、カーネル内部の文字コードとしてUnicodeを使用。
- ファイル名に関してはNTFSに保存される場合のみUnicodeで、FAT32の環境ではShift_JISに変換されて保存。
- アプリケーションにファイル名を渡す操作があった場合、NTFSに保存されていたファイル名はUnicodeからShift_JISに変換されて渡される。
- そのためNTFSファイル上に作成されていた日本語ファイル名のファイルをzipファイルとして圧縮すると圧縮された中身のファイル名はShift_JISとなって保存される。
以上の事情により、NT系のWindowsで作成したzipファイルの中身のファイル名は、もともとがUnicodeであったとしてもShift_JISとなってしまうということらしいです。
