やじうまPC Watch
42へぇ。Wordで「打」から始まるテキストファイルを開くとコンバーターが要求される
2024年9月18日 16:55
Windows版のWordで、Shift-JISの「打」(0x91C5)で始まり、2文字目以降に文字が続くテキストファイルを開くと、「このファイルを開くとコンバーターが必要です」というダイアログが表示されるという。
実際に手元の環境やってみた。
確かに文字コードをShift-JISで保存された「打」から始まり、2文字目以降も文字が続くテキストファイルを開くと、「このファイルは新しいバージョンの Microsoft Word で作成されているため、このファイルを開くにはコンバーターが必要です。Office.com からコンバーターをダウンロードしますか?」というダイアログが表示された。
これはどういうことなのか。Microsoft Wordに詳しいJapan Office Client Support Blogの9月17日の投稿によると、多くのファイル形式では、先頭の数バイトでそのファイル形式を表わすため、Wordではファイルを開く際にそのファイルのバイナリデータの先頭数バイトを手がかりにファイル形式を判断している。
ところが、テキストファイルはこのデータ部を持たず、テキストの情報をファイルの先頭バイトから格納する。そこでShift-JISで「打」をエンコードした場合は、0x91C5から始まることになるが、3バイト目以降にデータが続くと、Wordはテキストファイルではない別のファイル形式だとして認識。その認識されたファイル形式は現在サポートされているWordデスクトップアプリで開けない形式となっているため、コンバーターのダウンロードを促すようになるのだという。
ちなみにここでこのテキストファイルを開きたい場合は、先のダイアログで「いいえ」を選択すると、テキストファイルとして開くかどうか尋ねられるので、ここで「OK」を押せばテキストファイルとして開ける。また、Shift-JISではなくUTF-8などで保存すれば、ダイアログ自体が表示されることを回避可能だ。