當(dāng)你頻繁和二維碼照面的時(shí)候,你有沒有過這樣的好奇:為什么用手機(jī)掃一下就會(huì)看到一個(gè)“花花世界”?二維碼的顏色為什么是黑白相間的呢?這些不規(guī)則幾何圖形中究竟藏著怎樣的“秘密”?
二維碼起源日本,原本是Denso Wave公司為了追蹤汽車零部件而設(shè)計(jì)的一種條碼。20世紀(jì)80年代曾風(fēng)靡日韓,在我國(guó)也應(yīng)用多年。
掃描公園植物二維碼獲取信息。
二維碼,又稱二維條形碼,是相對(duì)于一維條形碼而言的,它是根據(jù)某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)信息;在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”“1”比特流的概念,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖像輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理。二維碼儲(chǔ)存的信息量很大,有數(shù)據(jù)顯示,最多可記錄1850個(gè)大寫字母,2710個(gè)數(shù)字或500多個(gè)漢字。
我們看一個(gè)二維碼,最先看到的當(dāng)然是幾何圖形。這些圖形中,藏了不少重要的“部件”。南京郵電大學(xué)計(jì)算機(jī)學(xué)院副教授黃海平為我們做了詳細(xì)分析。
首先,QR二維碼的三個(gè)“角”上有三個(gè)方塊,可別小瞧這方塊,它叫位置探測(cè)圖形。有了這三個(gè)點(diǎn),不管是從哪個(gè)方向讀取二維碼,信息都可以被識(shí)別。即使將二維碼圖形旋轉(zhuǎn),也可以識(shí)別。也許你會(huì)問,為什么不是四個(gè)角上都有方塊呢?事實(shí)上,是可以設(shè)更多的點(diǎn),但幾何知識(shí)告訴我們,3點(diǎn)就可以確定一個(gè)平面,節(jié)省出的一個(gè)角可以嵌入更多信息。
另外,二維碼上還有一些圖形混雜在幾何圖形中,是肉眼看不出來的,比如定位圖形和分隔符。定位圖形就是圖中連接三個(gè)位置探測(cè)圖形之間的兩根“線”,它的作用是決定二維碼符號(hào)中模塊的坐標(biāo),而分隔符的作用是將位置探測(cè)圖形與符號(hào)的其余部分分開。也就是說,通過掃描能讀取的數(shù)據(jù)信息在二維碼中的位置是由定位圖形和分隔符決定的。
還有兩個(gè)圖形肉眼也難以發(fā)現(xiàn),位于左下角位置探測(cè)圖形上面的是“版本信息”,每個(gè)二維碼都有一個(gè)版本號(hào),我們常說的V1.0、V2.0就是版本;包圍在三個(gè)位置探測(cè)圖形周邊的則是“格式信息”,這指的是這個(gè)二維碼采用的編碼格式。
二維碼為什么是黑白相間的?黑色表示二進(jìn)制的“1”,白色表示二進(jìn)制的“0”?!拔覀冎詫?duì)二維碼進(jìn)行掃描能讀出那么多信息,就是因?yàn)檫@些信息被編入了二維碼之中?!秉S海平說,“制作二維碼輸入的信息可以分成三類,文本信息,比如名片信息;字符信息,比如網(wǎng)址、電話號(hào)碼;還有圖片信息,甚至還可以包括簡(jiǎn)短的視頻?!敝劣跀?shù)據(jù)信息到底在黑白相間的矩形中的什么位置,非專業(yè)人士是無法知曉的,“這都是后臺(tái)的工作了,QR碼有自動(dòng)的規(guī)則,將信息安排在二維碼相應(yīng)的位置。”黃海平說。
和數(shù)據(jù)信息混在一起編入二維碼的還有糾錯(cuò)碼信息。這是因?yàn)楫?dāng)我們對(duì)二維碼進(jìn)行掃描時(shí),不能保證掃的每一位信息都正確,這就需要依賴糾錯(cuò)碼信息了。
此外,二維碼中還藏著非常重要的校正圖形。當(dāng)二維碼遭到污染或者破壞時(shí),校正圖形保證了沒有被破壞的信息仍然可以被識(shí)別。 即使二維碼的損毀面積高達(dá)50%,信息仍然可以被讀取。
說到這里,掃描二維碼為什么能讀取信息就好理解了?!霸谖覀冇霉怆姃呙杵骰蛘呤謾C(jī)智能終端的掃描軟件進(jìn)行掃描時(shí),其實(shí)是一個(gè)解碼的過程,解碼恰恰是編碼的逆過程?!秉S海平說。