二维码基本原理:如何用你的双眼读出二维码里的信息! |
您所在的位置:网站首页 › 信息编码原理 › 二维码基本原理:如何用你的双眼读出二维码里的信息! |
掩码 为了避免大块的黑色或白色模块,二维码使用了掩码。有八种不同的选择。 这里指定了掩码模式: 黑色模块表示 1,白色方框表示 0。 在这种情况下,掩码模式由以下位组成 它们是二进制数 110。 它们与十进制数 6 相对应。 每种类型都有一个预定义的模式。为了更好地记住这些模式,可以使用下面的情景介绍。 掩码模式情景 看,你违法了。我真的很抱歉,我看到你的未来是黑色的 ,你将在栅栏之后: 但后来,事情发生了,一个故事展开了。就像这样,黑色从左到右移动: 于是,发生了什么?首先 ,你会穿上陈旧的条纹囚服。 但你并没有失去希望 ,彩虹让你坚持了斗志。 你在监狱的时间已经过半(对称密码: 和 ),你开始有自己的爱好: 独处时 ,你画画,比如,画 例如埃舍尔(M.C. Escher)的《蜥蜴》。 或者你用双眼观看 其他囚犯下棋。 但时间流逝 你开始制定越狱计划:你将用斧头砍出一条出路。 最后 你设法逃了出来!这是你在监狱中的终点线,所以你会得到一面方格旗。 现在,一切都是光明 和快乐,就像一张鲜花盛开的墙纸!在我们的案例中,模式 就是那个看起来像黑白彩虹的一部分! 如果在二维码的数据部分重复这一模式,就会得到以下结果: 对于掩码中的每个黑色模块,您都要翻转二维码中的模块!接下来的步骤将告诉你如何操作。我们准备了一份 DIY 手册,其中包含所有掩码类型的速查表!你可以把它折叠成一个小册子,就像这样! 编码模式让我们开始解码内容!首先,我们需要知道内容的编码。该信息总是显示在右下角。 但是,请记住你首先要应用掩码!让我们来看看我们的小窍门吧。 让我们把这两个方框 XOR 在一起: XOR =同样,每种模式都有不同的编码模式。 数字 字母 Byte字节 ECI (扩展解释器) 汉字对于我们的代码,编码模式是字节 Byte(4),因此我们可以继续! 读取顺序内容从右下角开始。您向上走,在两列之间走之字形,然后在下一列向左走之字形。始终跳过所有特殊区域! 字节前四位是编码模式。对于 ASCII 编码模式,接下来的八位指定内容长度。之后,每八位就是一个内容字节。 同样,我们也要应用掩码: XOR = 长度解码这是(未屏蔽unmasked)长度信息: 这些是比特位: 00001100 这些比特位以十进制表示: 12 该值是内容的总长度,以字节为单位! 内容解码最后,我们就可以开始解码二维码的内容了! 这是第一个(未屏蔽)字节: 这些是比特位: 01001000 这些位以十六进制表示: 0x48 这就是相应的 ASCII 字符: H 这是第二个(未屏蔽)字节: 这些是比特位01100101 这些位以十六进制表示:0x65 这就是相应的 ASCII 字符:e ......等等!剩下的字节供您练习。当读取的字符数达到之前长度字段所指示的字符数时,就可以停止了。 ASCII 字符表您可以使用此表将十六进制数字转换为 ASCII 字符!如果你是这样的人,也可以试着记住表格中的部分内容:小写字母以 0x61 的 "a "开头,以 0x7A 的 "z "结尾。中间的字母你可以数一数。 …0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F 0x2… ␣!"#$%&'()*+,-./ 0x3… 0123456789:;? 0x4… @ABCDEFGHIJKLMNO 0x5… PQRSTUVWXYZ[\]^_ 0x6… `abcdefghijklmno 0x7… pqrstuvwxyz{|}~DEL 纠错那么,剩下的都是内容吗?不完全是!还有纠错功能,用于确保即使二维码的某些部分损坏、模糊或缺失,仍能被读取。纠错是由一些复杂的数学运算生成的,我们在这里不关心它,只关心如何读。 祝贺!这应该就是你手动解码简单二维码所需的一切。现在,您可以按顶部的 "随机码 "按钮来练习简短的英语单词,或者去大街上找一个 QR 码,用 "扫描 "按钮来扫描它! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |