ZIP压缩格式介绍 zm是什么意思

前言

ZIP压缩格式介绍 zm是什么意思


魔数,对于大部分人都是魔法!
在编程的世界里,有很多很神奇的数字,比如PE的23117(0x5A4D),除法中的1717986918.4(0x66666667)等,很多业内人士叫他们魔数 。之所以叫魔数,是因为这些数字的确像有魔法一样,在一些算法和校验领域,发挥着至关重要的作用,却又不可言说 。
魔数因其难以理解的作用和高效,常被程序员用于标榜和巩固自己在项目甚至单位中的地位 。传说中的祖先代码里,便充斥着各种魔数,在与老板斗智斗勇的故事里,常常扮演着崖洞秘诀的角色 。
其实很多时候,魔数的本质是代码优化的结果,一定程度上能够代表技术的段位 。但也不乏一些伟大的程序员,在自己的作品中标上『谁谁谁到此一游』或『谁谁谁乃XXX之父』的畅快 。
比如著名的ZIP压缩格式,就是由Phil Katz创建,其格式签名符"PK"即为该作者名字的缩写 。那本文要讲的“MZ”其实也一样,是另一个伟大程序员的名字,他就是Mark Zbikowski,让我们一起来围观背后的故事吧 。
一、系统和应用程序都是由可执行文件构建起来的
ZIP压缩格式介绍 zm是什么意思


没有EXE,双击个什么鬼?
1、双击运行,对于每一个使用 PC的人来说,都已经形成了肌肉记忆 。对于非编程的普通用户而言,可执行文件和非可执行文件,并没有什么区别,也不需要关心他们之间的区别 。但对编程用户而言,可执行文件才是眼里的光 。
还记得《办公想转国产货,二开双管齐下,奈何WPS实力劝退啊》和《WPS二次开发逻辑,及其版本选择》中曾提到的安装选项么?安了WPS后,WPS就接管了Office,成为默认打开程序 。很多用户对此大为困惑,以为WPS与Office不兼容,只能二选一 。其实,就是覆盖了相关关联设置而已 。
因为,利用注册表,就可以将文件扩展名与指定应用程序关联 。普通用户在非可执行文件上双击,就会自动关联到可执行文件,并启用其载入打开相应的文件 。关注BtOfficer,来一键兼容,既能Office,也能WPS,VB/VBA可以通吃啦 。
所以,无论是否为程序员,其实利用计算机工作,实质上都是依靠可执行文件,提供的交互功能来进行的 。
ZIP压缩格式介绍 zm是什么意思


记事本能开万物,EXE必以MZ开头
2、双击后,系统是怎么知道指定的文件可以装载运行呢?这就需要到可执行文件内部去看看了,怎么看呢?在Windows系统中,记事本作为一款纯文本编辑器,虽然没啥卵用,但能打开任何格式的文件 。正因为如此,历代Windows中,记事本的地位雷打不动 。
【ZIP压缩格式介绍 zm是什么意思】用记事本打开任何一个可执行文件(不仅exe,dll、ocx、sys等扩展名对应的都是可执行文件,都遵循PE格式),我们看到前两个字符都是"MZ" 。系统便可以通过该特征来初步判断文件是否为1个可执行文件 。
"MZ"(23117或0x5A4D)便是被称为可执行文件的MagicNumber,也即魔数 。
二、MZ何许人也?难道比盖茨还能耐?为何独占可执行文件中的前两字节?既然可执行文件是系统的重要组成,那就不得不回到系统的历史上来,尤其是Windows这种以兼容著称的通用系统 。在《VB前传,从教学到游戏,再到系统,似乎每步都是精心设计》中,重提那段被尘封的历史,有BASIC,更有DOS系统 。
"MZ"这个魔数便是PE之DOS_HEADER的首成员,与DOS系统兼容密切相关 。在DOS系统十多年的历史上,有两位突出的贡献者,MZ便是其中之一 。

推荐阅读