Microsoft Office 2007以降は、ファイルの圧縮が不要な理由
こんにちは。今日のテーマは『ファイルの圧縮』についてです。
このテーマで書こうと思ったのは、今朝のSNSでのやり取りがきっかけです。
ーーーーーーーーーーーーーーーーーーーーーーーー
A「なんでもZIPファイルにするのもなんとか変わるといいなー」
B「容量を小さくする為と暗号化する為だと思うのですが、見直さないとですね」
私「もし、Office系のファイルであれば、元々圧縮されているので、ZIP形式にしてもあまり圧縮されませんのでー」
B「なんと、知らなかった。officeファイル自体も安全になってるんですね。ますます、圧縮不要」
ーーーーーーーーーーーーーーーーーーーーーーーー
ファイルの拡張子にxがついた理由
Office 2003までは、Wordファイルの拡張子は~.doc、Excelファイルの拡張子は~.xls、Power Pointファイルの拡張子は~.pptでしたが、Office 2007以降は、ファイルの最後にxが追加されました。もしかすると「単にファイルの拡張子が変わった」くらいに考えている方も多いかもしれませんが、単にファイルの拡張子が変わっただけではありません。
Microsoft Word、Excel、PowerPointなど、Microsoft Office 製品の歴史は長く、およそ30年前に製品がリリースされ、現在でも多くの人に使い続けられている製品です。
時代や環境の変化に対応し、ユーザーからのリクエストに応じた新機能が追加される一方で、「機能が多すぎる」「新機能まで使いこなせない」といった声が聞こえてくるのも事実です。(これは、Microsoft 製品に限らず、歴史が長い製品の宿命なのかもしれませんが・・・)
このような声をきくと、私は少し残念な気持ちになります。それは、モノゴトの進化には進化の理由があり、その理由を理解したうえで、取捨選択がなされていないと感じることが多いからです。
例えば、Excelのマクロは、業務を自動化するために考えられた機能ですが、インターネットの発展とともにマクロを悪用したマルウェアで攻撃をする人たちが出てきました。このような状況が起きてくると、被害を抑えるための方法を考える必要がでてきます。
案①:マクロそのものを廃止(マクロを使えないように)して、新技術に置き換える
案②:マクロ付きのファイルとマクロなしのファイルを区別できるようにする
案①の場合、安全度は上がるかもしれませんが、マクロが動かなくなるので業務でマクロを使っている企業やユーザーが混乱するのは明らかです。そこで、Office 2007になるタイミングで、案②のマクロが無効なファイル形式(~.docx、~.xlsx、~.pptx)、マクロが有効なファイル形式(~.docm、~.xlsm、~.pptm)を採用し、ファイル名で識別できるようにしました。ファイルの拡張子でマクロ付きがどうかを判断できるようになったことで、マクロが有効なファイル形式の場合、誰から入手したのか、入手経路が明らかでないものは、リスクが高いと判断しやすくなりました。
もしかすると、ここまでの話はご存じの方も多いかもしれません。
では、本題である、圧縮が不要というのはどういうことなのか?を具体的に説明したいと思います。
Office 2007 以降のファイルは既に圧縮されている
Office 2007以降が使える環境の方は、実際にご自分の環境でファイルを作成して試していただければと思います。
①文章が全く同じファイルを~.docx(2007以降のファイル形式)と~.doc(2003までのファイル形式)で保存します。
文章が全く同じであるにも関わらず、ファイルサイズが異なる(~.docxの方が小さい)のは、ファイルを保存する際に圧縮されているからです。
②本当に圧縮されているかどうかを確認するために、ファイル名を変更します。~.docxの後ろに.zip を追加します。(拡張子を変えると、ファイルが使えなくなる可能性があります。変更しますか?とダイアログボックスが表示されるので、[はい]を選択してください)
③zip形式になったので、このzipファイルをダブルクリックします。
下記のように、zipの中がさらに複数のフォルダに分かれていることがわかります。
④wordフォルダをダブルクリックして、さらに展開します。
⑤document.xmlを開くと、ファイルに記述した文章が保存されていることがわかります。
⑥ファイルの拡張子から .zip を削除し、元の~.docxに変更します。
⑦ファイルをダブルクリックして、Microsoft Wordでファイルを開きます。
Office 2003までバイナリ形式で保存されていたファイルが、なぜ、XML形式のテキストになったのか?その背景については今回は割愛しますが、このように、Office 2007以降は、XML形式の複数のテキストファイルでファイルが構成され、圧縮されたひとつのファイル(Wordの場合は~.docx、Excelの場合は~.xlsx、PowerPointの場合は~.pptx)になっています。
圧縮されているファイルを再圧縮しても、大きな圧縮はおこなわれません。また、マルウェア感染リスクの低減という観点からも、なんでもzipで送る習慣を減らしていきましょう。
「機能が多すぎる」「新機能まで使いこなせない」と門前払いをするのではなく、進化の背景や理由を理解したうえで、取捨選択される方が増えることを願っています。