说到二维码,大家再熟悉不过了,我们每天都会扫一扫,支付、加好友、登录账号、进出车站等等,它存在于我们生活的方方面面,用途广泛,已经成为我们不可或缺的朋友。
总之,这个由黑白两种颜色小方块组成的图案,是我们很得力的助手,那么,为什么只要我们随便一扫,它总能带给你所需?
二维码与条形码的比较
简单的说,二维码是一种开放性的信息存储器,它能将固定的信息存储在自己的黑白小方块之中。而且它可以无限使用,对识别器没有任何要求,任何设备只要带扫一扫的功能,都可以将它所存储的信息读取出来。
它的工作原理就跟商品外包装上的条形码一样,只不过条形码是通过黑白条纹来存储商品的信息的。
虽然它们的原理相同,但条形码的信息存储量比二维码要少的多,条形码只能进行最基本的信息存储。这主要是由于条形码只能在水平方向进行识别,而条形码的水平宽度有限,信息存储量无法拓展。
二维码的工作原理
与条形码想相比,二维码把黑白条纹改成黑白小方块,加大了信息的存储量,也能表示更多的数据类型,在读取信息的同时,可以从水平方向和垂直方向来读取,这样又能加入更多的信息在二维码之中。
二维码工作的原理其实就是二进制算法。二进制是将所有的语言信息用机器语言0和1表达出来。世界上的各种各样的语言文字至少有上千种,人可以通过学习别人的语言来进行翻译,但机器却不可以。
为使机器识别出不同的语言文字,科学家们将读音不同意思相同的语言转换成了数字编码,比如说英文的“one”和汉字的“一”是意思相同的,都可以由二进制编码“00000001”表示出来。
可以说,二进制编码是一切语言的翻译器,同样我们可以在文字语言和机器语言之间相互转换。
二维码就是将我们能看懂的文字语言,以机器语言的形式来存储。其中黑色小方块代表的是1,白色小方块代表的是0,黑白相间的图案其实就是一串编码,扫码的过程即翻译编码的过程。
那编码起始位置怎么定位呢?我们注意到,每个二维码的边角部位都有三个位置探测图形(大方块),由此来起到定位作用。三个点能确定一个面,这能保证我们在扫码时,不管手机横着扫、竖着扫或者斜着扫,都能获得特定的信息。
二维码的颜色
那么二维码为什么是单一的黑白形式?这也跟二进制有关,即黑色的小方块代表1,白色小方块代表0,所以常见的二维码都是以黑白的形式来展现。
通常我们所看到的以及大多数软件生成的二维码都是黑色的,但事实上彩色的二维码生成技术也并不复杂,并且备受年轻人的喜爱,有一些网站也可以提供彩色二维码在线免费生成的服务。
当然彩色二维码,会具有普通黑白二维码的所有功能,呈现出来的是彩色外观。制作彩色二维码也是有要求的,即前景色必须为深色,背景色必须为浅色,而且定位点的颜色与其他方块的颜色尽量类似,不然就会影响识别。
二维码还有哪些亮点?
基于二维码的纠错功能,即使二维码部分被覆盖或丢失,扫描设备依然能够识别出其记录的完整信息。
当前已有不少“个性二维码”的生成工具,把一些个性图案与二维码进行合成,得到个性化并能被扫描设备识别的二维码,这种“个性二维码”得到人们喜爱并且也流行起来。
二维码会用完吗?
全世界每天消耗二维码100亿个,每年消耗3.65万亿个。二维码会用完吗?
目前,标准的二维码共有40种,最小为21×21矩阵,最大为177×177。
这里以33×33版本为例,来说明一下二维码的数量有多少:
此版本中,总共包含了1089个方块。不过,并不是每个块都能填进去有意义的信息。其中,有三个黑色的大方块用于扫描定位,不包含信息。每个用于定位的黑色大方块由7×7=49个小块组成,定位用掉的方块总数为49×3=147块。因此,用于表示信息的方块总数为1089-147=942块。每个方块有两种填充方式,要么0要么1,所以33×33版本的二维码总数为2^942,即3.7×10^283(37后面跟了282个0)。
假设全世界每天消耗二维码100亿个二维码。如果自宇宙在138亿年前诞生以来,人类就开始以这个速度消耗二维码,人类也才用了5.0×10^22个。也就是说,33×33版本足够人类使用7.3×10^260个“138亿年”,或者说10^271年,即1000万亿亿…前后共计33个亿…亿亿年。
如果再算上另外39个版本,二维码总数更加巨大,例如,177×177版本的变化总数高达5.2×10^9386(2^31182)。理论上,如果人类能够在宇宙中存在足够漫长的时间,二维码是可以用完的,但这个时间实在太漫长了,也许就连宇宙本身都等不到那一天。
即便二维码真的用完,说不定遥远未来的人类还会继续增加更多的维度,其变化形态将会更多。