CodigosTutoriales Asked: 2019-06-05 09:10:44 +0800 CST2019-06-05 09:10:44 +0800 CST 2019-06-05 09:10:44 +0800 CST 为什么 MS Office 文件实际上是具有另一个扩展名的 ZIP 文件?[关闭] 772 我一直在尝试对 Microsoft Office 文件格式进行逆向工程,我发现它们实际上是 Open XML,而“Open XML”文件格式实际上是一种 ZIP 格式。 当我使用二进制(十六进制)编辑器打开 Office 文件时,它具有与 ZIP 文件相同的文件签名(签名为PK.. (67324752))。 顺便说一下,Office 文件可以像任何 ZIP 文件一样用 WinRAR 打开。 我的问题是:为什么 Microsoft 决定使用 ZIP 容器和 XML 而不是具有自定义签名和标头的专有文件格式?逆向工程不是更容易或读写更慢吗? microsoft-office zip 1 个回答 Voted Best Answer user1686 2019-06-05T09:19:28+08:002019-06-05T09:19:28+08:00 就问题的“事实”部分而言...... 为什么 Microsoft 决定使用 ZIP 容器和 XML 而不是具有自定义签名和标头的专有文件格式? 他们过去一直对原始的自定义格式和后来的基于 CDF 的格式(.doc、.xls 等)一直这样做,直到 Office 2003,后来又将原始的单文件 XML 作为文档格式,直到他们最终在 Office 2007 中切换到新格式(.docx、.xlsx 等)的 ZIP+XML。 至于“为什么”,只有 Microsoft 自己才确切地知道为什么做出这样的选择,但是 ZIP 容器在那个时候已经很普遍了(例如,对于竞争性的 OpenDocument 规范,对于 Java .jar 存档,等等)所以你可以制作你的自己的猜测。 您可以在维基百科上找到更多详细信息:Office Open XML 的标准化 逆向工程不是更容易吗 该格式的字面意思是“Office Open XML”,并根据欧盟要求支持某种形式的开放文档格式,拥有作为 ECMA 标准 ( ECMA-376 )发布的一整套规范。 所以防止逆向工程不是它的目标;恰恰相反。这就是为什么旧的二进制 CDF 格式首先被放弃的原因。
就问题的“事实”部分而言......
他们过去一直对原始的自定义格式和后来的基于 CDF 的格式(.doc、.xls 等)一直这样做,直到 Office 2003,后来又将原始的单文件 XML 作为文档格式,直到他们最终在 Office 2007 中切换到新格式(.docx、.xlsx 等)的 ZIP+XML。
至于“为什么”,只有 Microsoft 自己才确切地知道为什么做出这样的选择,但是 ZIP 容器在那个时候已经很普遍了(例如,对于竞争性的 OpenDocument 规范,对于 Java .jar 存档,等等)所以你可以制作你的自己的猜测。
您可以在维基百科上找到更多详细信息:Office Open XML 的标准化
该格式的字面意思是“Office Open XML”,并根据欧盟要求支持某种形式的开放文档格式,拥有作为 ECMA 标准 ( ECMA-376 )发布的一整套规范。
所以防止逆向工程不是它的目标;恰恰相反。这就是为什么旧的二进制 CDF 格式首先被放弃的原因。