關於二維碼的小道消息,你知道多少呢?

不想當程序員的胖子 發佈 2020-01-02T22:41:12+00:00

以171 * 171 的二維碼舉例,它每一排有 171 個格子,一共 171 列,那麼 171 * 171 能組成 2 的 29241 次方個二維碼。

這兩天看到一個問題,「二維碼會不會用光」,看到這個問題,我還愣住了,用了這麼久二維碼,我還真沒有仔細探究過二維碼的相關情況,這可不是一個好的程式設計師該有的毛病,所以,我就去Google、維基百科等等,查了下二維碼的前世今生,並且了解了一下它的一些小道消息。


從頭開始探究二維碼

既然要了解二維碼,那就從頭開始了解,不查不知道,一查就傻掉!

原來,二維碼還分好幾種呢,常見的幾種:

  • PDF417碼
  • QR碼
  • 漢信碼
  • 顏色條碼
  • EZ碼
  • Aztec Code
  • QuickMark
  • Data Matrix

看了一遍,感覺一個都不認識啊,難道這和我理解的二維碼不一樣嗎?

在我一個個查詢了之後,才知道,我們日常使用的二維碼,就是QR碼!

我們就著重了解下QR碼,至於其他的,講起來也挺費事,主要是也沒興趣了解那麼多...

QR碼

QR碼全稱為快速響應矩陣圖碼(Quick Response Code),於1994年由日本DENSO WAVE公司發明.

經常使用二維碼,不知道你們有沒有注意過,每個二維碼都有三個「回」字正方形圖案?

而這三個「回」字圖案的作用,沒錯,就是定位,有了這三個「回」字,那麼你不論以什麼角度去掃這個二維碼,都可以被解碼出來的,而只要失去了其中一個,就會影響識別。

看到這裡,我突然想到了現在的共享單車,每輛車上都有一個二維碼,眾所周知,現在有些人為了獨占一輛單車,常常會把二維碼整個毀掉,或者毀壞大部分。

其實如果他們了解的話, 其實毀掉一個角就可以了,沒必要費那麼大的勁。

繼續學習二維碼,發現二維碼是有一個容錯範圍的,最高可以達到30%的容錯,但是容錯越高二維碼就越大,所以一般容錯都會在15%左右。

這個容錯的意思是什麼?

就是說你就算破壞了一部分(不包括「回」字),也是可以識別出來的!

有沒有想到什麼?

對!微信中的二維碼,中間是不是有你的頭像?

現在才明白,為什麼二維碼中間有個圖片也不影響別人加我好友啊!做出這個設計的人,也是有才啊!

二維碼會不會用完

了解了一些小知識之後,現在問題來了,二維碼會不會用完?

二維碼其實就是用一行行的黑白色塊組成的,而白黑色塊又對應著計算機中的0和1,所以,一個二維碼可以存儲多少數據呢?

要知道二維碼的尺寸也是有所不同的,最小的是21 * 21,最大的能達到171 * 171。

以 171 * 171 的二維碼舉例,它每一排有 171 個格子,一共 171 列,那麼 171 * 171 能組成 2 的 29241 次方個二維碼。

這是什麼概念呢?

全球七十多億人每秒換一個二維碼,刷100億年,也只能刷一小部分,更何況,還可以擴展啊!

所以,我們了解了這些之後,還是不想二維碼能不能用完的問題了,想想什麼時候,二維碼會被其他方式的新事物替代更為理想點!


查了這些資料之後,這一個小困惑也算是被解決了!

循序漸進,日拱一卒,今天的你,又比昨天強大了啊!

關鍵字: