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

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

如圖所示幻赚,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ò)率的示例可帽。

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

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

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

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


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

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

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

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

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