介紹
隨著智能手機(jī)的使用人群越來越廣泛,基于二維碼的應(yīng)用也越來越多。今天,就和大家聊一聊二維碼吧。
二維碼是在一維碼的基礎(chǔ)上擴(kuò)展出的,具有可讀性的條碼,使用黑白矩形圖案表示二進(jìn)制數(shù)據(jù),被設(shè)備掃描后可獲取其中所包含的信息。
一維碼是只在橫向記錄數(shù)據(jù),書籍上的ISBN就是典型的一維碼。

而二維碼則在橫向及縱向都會(huì)記錄數(shù)據(jù),我們常說的二維碼其實(shí)是QR碼,是眾多二維碼種類中的一員。

如圖所示,QR碼(Quick Response Code)通常都是一個(gè)由黑白方塊組成的正方形。左上、右上、左下三個(gè)角落均有一個(gè)「回」字狀的定位標(biāo)識(shí),保證程序在讀取內(nèi)容時(shí)可以正確的識(shí)別。
同時(shí),QR碼還具有容錯(cuò)機(jī)制,即使圖案有一定的破損,仍可保證內(nèi)容能夠被正確的讀取。生成的QR碼圖案容錯(cuò)率一般為7%,最高可達(dá)到30%。下圖是同一內(nèi)容,30%容錯(cuò)率的示例。

常見用途
QR碼的應(yīng)用范圍廣闊,現(xiàn)在已經(jīng)很常見了,隨便舉幾個(gè)例子:
微信

微信的QR碼,在原有二維碼圖案的基礎(chǔ)上加入了一些美化元素。
新浪微博

新浪微博很好的利用了QR碼的容錯(cuò)機(jī)制,在二維碼圖案中加入用戶頭像,增強(qiáng)識(shí)別力。
QQ瀏覽器

QQ瀏覽器集成了網(wǎng)址生成QR碼的功能,可將當(dāng)前訪問的網(wǎng)址生成一張二維碼圖片,用手機(jī)App掃描時(shí)即可快速訪問。
應(yīng)用方法
關(guān)于二維碼最基本的使用方法,我們一定十分熟悉:
拿起手機(jī),打開二維碼掃描的應(yīng)用,之后將攝像頭對(duì)準(zhǔn)海報(bào)或宣傳頁上的二維碼圖案,幾秒鐘后就能看到其中顯示的內(nèi)容。
接下來,我們就來聊一聊二維碼的其他一些應(yīng)用方式。
圖案的再設(shè)計(jì)
由于QR碼擁有良好的容錯(cuò)和定位機(jī)制,所以我們完全可以在原有黑白圖案的基礎(chǔ)上進(jìn)行再設(shè)計(jì)。


只要保證足夠的對(duì)比度,二維碼圖片包含的內(nèi)容就可以很容易的被讀取出來。
掃描后登錄
由于二維碼的內(nèi)容可以是一段定制的文本,所以我們可以通過它進(jìn)行很多「神奇」的操作。微信網(wǎng)頁版的登錄就是其中一例。
當(dāng)我們?cè)L問微信網(wǎng)頁版時(shí),會(huì)有這樣一個(gè)提示:

這個(gè)QR碼其實(shí)包含了一個(gè)定制的網(wǎng)址 https://login.weixin.qq.com/l/密匙 ,當(dāng)使用手機(jī)端微信掃描這個(gè)二維碼后,會(huì)自動(dòng)訪問該網(wǎng)址,并將登錄信息發(fā)送至服務(wù)器。服務(wù)器接收到登錄信息后,就完成了網(wǎng)頁端的登錄操作。
掃描后打開主頁
微信的公眾平臺(tái)二維碼和個(gè)人二維碼類似。

都是包含了同樣格式的網(wǎng)址 http://weixin.qq.com/r/密匙 ,當(dāng)微信掃描后,會(huì)自動(dòng)讀取該用戶或公眾平臺(tái)的信息,提示用戶進(jìn)行關(guān)注。
另一種方式
除了類似微信的處理方法之外,還有另一種應(yīng)用方式:
生成的二維碼圖片內(nèi)容不再包含網(wǎng)址,而是一串格式化文本,形如
操作代碼+間隔符號(hào)+密匙
例如
A:5C73EB9ED98D4ED542F2406C09279FDDBC1CE4BE
DO@SnVzdFppeWE=
……
當(dāng)程序讀取內(nèi)容后,根據(jù)內(nèi)置的判斷條件去執(zhí)行相應(yīng)的操作,如A是「訪問指定網(wǎng)址」、B是「顯示指定文本」等等。
總結(jié)
總結(jié)一下,二維碼最基本的應(yīng)用流程如圖:

就是簡單的 將內(nèi)容放入二維碼 -> 讀取內(nèi)容之后顯示 。而常見的應(yīng)用流程如圖:

- 生成指定內(nèi)容的二維碼圖片;
- 掃描圖片,讀取其中包含的內(nèi)容;
- 根據(jù)解析得到的內(nèi)容,判斷程序下一步的操作,如「訪問指定網(wǎng)址」、「顯示指定文本」、「發(fā)送指定請(qǐng)求」等。在這個(gè)過程中,按照程序的設(shè)置不同,可能會(huì)附帶手機(jī)串號(hào)、登錄信息、GPS坐標(biāo)等信息,一同發(fā)往服務(wù)器;
- 當(dāng)操作執(zhí)行完畢后,顯示操作結(jié)果。