コード体系による文字化けや読込み不能

Windows9x系列(Windows95/98/Me)はCP932という文字コードを使っていました。
(CP932は俗にShift_JISと呼ばれ、MicrosoftはANSIと呼んでいます)

日本語Windows9x系列は、システム内部、DOSプロンプト、ファイルシステム(FAT16/FAT32)などがほぼCP932で統一されていました。
対して、
Windows10/8/8.1/7/Vista/XP/2000などのWindowsNT系列は、複雑になります。

まず、OSのシステム内部はUnicode UTF-16に統一されました。

DOSプロンプトは廃されましたが、代わりに搭載されたコマンドプロンプトは、未だCP932を標準で使います(切り替えは可能)。

ファイルシステム(NTFS)もUnicode UTF-16を使うようになりましたが、FAT32は使用可能であり(この場合ファイル名はCP932になる)、またファイル内容はCP932だったり Unicode UTF-8 BOM有りだったり Unicode UTF-16だったりします。

まだFAT32を使う場面はそこそこ有るので(小容量の外付けHDDやUSBメモリ、SDカードなどはFAT32が多い)、CP932も使われています。
このため、NTFSのファイルをFAT32のメディアにコピーしたりすると、ファイル名がうまくコピー出来なかったり、昔のアプリケーションではNTFSの特定のファイルが認識できない、というトラブルが発生する事があります。
Windowsの「外の世界」では、だんだん「Unicode UTF-8 BOM無し」へと移行が進みつつあるので、「外」にテキストファイルを持ち出す際は、注意すべきでしょう。
Windows標準の機能では、Unicode UTF-8 BOM無しのテキストファイルを作ることが出来ないからです

タイトルとURLをコピーしました