コンテンツ管理システムには、すべての Word ドキュメントを特定の拡張子 (DOC または DOCX とは異なる) で保存する必要があるという制約があります。ただし、ドキュメントをユーザーに出力するときは、適切な MIME タイプを提供するために、それが DOC ファイルか DOCX ファイルかを知る必要があります。
それで、ドキュメントがその内容によってDOCかDOCXかをプログラムで調べる方法はありますか?
ForensicsWiki へのリンクは、さまざまなファイル タイプの詳細を示しています。DOC ファイルと DOCX ファイルの両方のヘッダーが記述されているため、ファイルを解析してファイルの種類を判断できるはずです。
リンクを見ると、.doc ファイルは OLE 複合ファイルであり、ファイルには次のバイナリ ヘッダーが必要です。
d0 cf 11 e0 a1 b1 1a e1
対照的に、.docx ファイルにはバイナリ署名があります。
50 4b
DOCX ファイルは ZIP 形式で、最初の 2 バイトは文字PKです(ZIP の作成者である Phil Katz にちなんで)。