分享

二维码的容量有多大?

 听涛小主 2017-07-08

二维码有很多种类型。而我们平时所见到的,超过99%的,都是QR码。像微信扫码,则100%都是指QR二维码。

所以我们先讨论QR码。

QR码有大有小,但不能无限大。总共只有仅仅40种规格,最小的是21×21,最大的是177×177。下图就是最小和最大的示例。

QR码可以表示成不同类型。比如纯数字(0到9),字母(字母数字和少数标点,其实就是网址),日文(谁让QR是日发明的呢),中文,二进制,等等。

QR码最多只能表示7089个纯数字,或者4276个字母(形如网址的字符数),或者2953字节的二进制(相对于才2.9KB)。还有日文中文等最多表示数就不再列出。可以看出,数量是很小很小的!要知道一张照片至少也得有几十KB,一首MP3歌曲4MB左右。而QR码还不到5KB!

上面说的都是QR码。它是用得最广泛的二维码,但却不是唯一的二维码。那么,我们自然要关心,如果我们选用其他的二维码,到底最多能表示多少内容呢?

这个目前没有明确的答案。因为谁都可以发明二维码规范(包括你和我),据说有理论上支持几个TB的,相当于几个普通硬盘。

但是,理论只是理论。实际上是难以做到的。因为扫码二维码需要用摄像头或扫描仪。简单点,就拿手机说吧。手机摄像头是有最大分辨率的,比如800万像素,1200像素等等。800万像素手机,最多也就只能识别800万个点。它最多表示800万个二进制位,也就是100万字节(一字节等于8位),基本等于1M字节,即1MB。小的可怜吧!

而且上面的讨论中还仅仅是最理想的情况。800万像素根本不可能刚好扫描清楚800万个点(方块)。还有二维码的核心技术是纠错机制或者叫容错机制。这种机制必须允许内容有冗余,以便错误时可以恢复。冗余就意味着1M个位的内容要超过1M个方块去表示。绝对不可能一一对应。

上面一段没整明白没有关系,我们就拿最理想最极端的极限来说。顺便普及一下知识。分辨率就是能识别的最大像素。比如手机摄像头拍出来的照片是4000×3000像素,那么就等于1200万像素,约等于12M。其中1M=1024K,1K=1024。1个像素如果用来扫描二维码,理想极限是1个方块,即一个二进制位。8个位等于1个字节。所以12M像素(1200万像素)极限能扫描出1.5MB的内容。像什么屏幕分辨率也是一样的道理。比如1024×768。大家也可以自己算算。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多