天天看點

小小的黑白碼竟有如此魔力

今天我們來聊一聊如今與我們日常生活聯系非常密切的一樣東西——我們出行,就餐,購物,幾乎是每天都可能會用到。沒錯,就是二維碼。

誰能料到,一個小小的黑白碼竟有如此廣泛的用途,誰能料到這個看起來普普通通的黑白小方格正在潛移默化地改變着我們的生活?

掃碼添加好友:随時随地擴大自己的社交圈。

小小的黑白碼竟有如此魔力

掃碼支付:現在連路邊賣水果的大爺都在微信、支付寶收款了,如果你還固執的使用現金支付,那真的是”out”了。

小小的黑白碼竟有如此魔力

行程跟蹤碼:疫情以來,個人一碼通作為疫情管控期間個人出行的關鍵電子憑證,為防疫流調打下了堅實的基礎,是市民安全的重要保障。

小小的黑白碼竟有如此魔力

這些都隻是二維碼最普通的應用場景,常見的還有掃一掃擷取産品電子說明書,會員管理,廣告推送等等。

還記得你是從什麼時候開始使用二維碼的嗎?你了解二維碼嗎?為什麼我們見到的二維碼都有三個回形小方塊呢?今天就讓我們來揭開它神秘的面紗吧。

現在我們廣泛使用的二維碼是QR(Quick Response)碼,最早出現在1994年,并在2001年引入中國後,迅速地融進了我們的生活。

二維碼的組成和原理

二維碼是由條形碼改造而來。在商品包裝上最常見,由黑白相間粗細不同的的豎條紋組成,商品的資訊就藏在這個條形碼中。

收銀員通過掃描條形碼就可獲得商品資訊,進而實作快速結賬。條形碼是在一個次元上攜帶資訊的條碼,二維碼顧名思義就是在水準,垂直兩個次元上都攜帶了資訊,是以從條形變成了方塊狀。無論是條形碼還是二維碼,本質上都是個資訊入口。

小小的黑白碼竟有如此魔力

一個完整的二維碼是由若幹個黑色小方塊和白色小方塊組成的,首先是将數字、字母、符号等字元經過一定的運算編碼規則轉換成二進制的“0”和“1”,再經過一系列優化算法就得到了二維碼。二維碼上的白色小方塊表示二進制的“0”,黑色小方塊表示“1”。

二維碼進行讀取時,通過顔色反差讀取到二維碼上的01順序,之後通過數字,位元組,特殊字元,混合編碼,漢字編碼等來将二進制進行轉為我們可以認識的字元。

二維碼的生成遵循二進制編碼,它們的排列方式就是資訊的展現。它的基本功能區劃分為:

位置探測圖形、位置探測圖形分隔符、定位圖形:二維碼的三個角落都分布着一個較大的回形黑白方塊--位置探測圖形,它和位置探測圖形分隔符、定位圖形一起幫助二維碼在形成的過程中進行定位,減少錯誤排列的出現。不管你的手機是橫着掃、豎着掃,還是斜着掃,它都知道二維碼應該從哪個方向開始讀。對每個QR碼來說,它們的位置都是固定存在的,隻是大小規格會有所差異。

小小的黑白碼竟有如此魔力

格式資訊:表示該二維碼的糾錯級别,級别越高,糾錯能力越強。例如,需要編碼的碼字資料有100個,并且想對其中的一半,即對50個碼字進行糾錯,則計算方法如下。糾錯需要相當于碼字2倍的符号(RS編碼※),是以在這種情況下的數量為50個×2=100碼字。是以,全部碼字數量為200個,其中用作糾錯的碼字為50個,是以計算得出,相對于全部碼字的糾錯率就是25%。這一比率相當于QR碼糾錯級别中的“Q”級别。

Level L:最多7% 的字碼可被修正。

Level M:最多15% 的字碼可被修正。

Level Q:最多25% 的字碼可被修正。

Level H:最多30% 的字碼可被修正。

小小的黑白碼竟有如此魔力

校正圖形:在圖像有一定程度損壞的情況下,譯碼軟體可以通過它同步圖像子產品的坐标映像。不同規格的二維碼校正圖形的數量和位置是不一樣。規格确定,它的數量和位置也就确定了。

小小的黑白碼竟有如此魔力

資料和糾錯碼字:實際儲存的二維碼資訊和糾錯碼字。這是二維碼的一種容錯機制,舉個例子假設一個二維碼有30%以下的面積被遮蓋或者去除時,二維碼掃描器依然能夠從這個殘缺的二維碼中準确擷取資訊。

小小的黑白碼竟有如此魔力

版本資訊:即二維碼的規格,QR碼符号共有40種規格的矩陣,從21x21(版本1),到177x177(版本40),每一版本比前一版本在縱向和橫向各自增加4個子產品。二維碼的各個版本結合資料量、字元類型和糾錯級别,均有對應的最多輸入字元數,需根據實際需求標明。如果增加資料量,就需要更多的碼元,二維碼就會越大。

小小的黑白碼竟有如此魔力

當掃描設定開始掃描二維碼時,根據位置探測圖形、位置探測圖形分隔符、定位圖形迅速提取待識别區域。有時候我們用手機或者其他裝置掃描二維碼時并不是正對着二維碼,或者,即使是正對着二維碼,也會在一定程度上造成二維碼傾斜,拉伸等等變形。但是我們發現這并不能影響二維碼的識别,那麼設計成一些固定比例的長方形塊的校正圖形就可以幫助裝置對被掃描圖檔進行正确的矯正。

總結下,我們二維碼的的識别過程大緻如下:打開手機或其他裝置掃一掃對準二維碼,掃描失敗,告知傳回上一步,重新開始。顯示掃描框,友善使用者對準二維碼。

二維碼會被耗盡嗎?

如今地球上幾乎每個國家每天都在使用二維碼,而且每日使用的數量超過100億個,那麼二維碼終有一天會被用完嗎?這就要看看人類能夠制作出多少個二維碼了。

二維碼有很多種類(QR碼隻是其中一種,其他常見的還有QR Code、Code 49、Code 16K等等),每一種二維碼都可以承載很多資訊。

同一種二維碼,由于各種版本的差異,每個版本都能搭載很多資訊。

二維碼的編碼方式不同,包含的資訊也是不同的。

二維碼是可以重複使用的,比如,可以讓同一個二維碼可以實作不同連結跳轉,用同一個二維碼可以讓在不同時間不同地點人們掃描看到不同的内容。

我們目前使用的最小二維碼為例,規格是21×21,其中就包含了21×21個可排列的點,這些點都能表示1或者0。是以按照排列組合的方法進行計算,那就是2的441次方,展開的話就是5.678×10^132,這個數字已經是天文數字了。僅僅一個版本一種編碼方式的二維碼就可以存儲如此多的資訊量,以人類一天用掉100億個二維碼的速度來進行計算,我們完全不用擔心二維碼會用完。

二維碼安全問題

“碼上生活”給我們帶來便利的同時,安全問題也随之而來。由于二維碼生成器很容易從網上獲得且釋出又沒有限制,是以很容易被一些不法分子利用實施網絡詐騙。

分享一個真實的案例:李先生在某電商平台購物時,看中一家網店的液晶電視,價格要比市面上的便宜近千元。店主聲稱可以拿到低價“私貨”,李先生便接受了店主讓他通過掃描二維碼進行支付的要求。李先生通過手機掃描了店主發來的二維碼後,進入一個支付界面,輸入銀行賬号和密碼後點選支付,但發現支付失敗。店主告訴他可能是系統出現故障,讓他重新掃描。李先生先後掃描了七次,全都以失敗告終,無奈隻能取消交易。但随即發現自己銀行卡被扣17000餘元,此時才反應過來自己被騙了。是以樹立防範意識,提高對二維碼的認識,學會正确使用二維碼十分必要。

騙子雖狡猾,但換湯不換藥。我們日常使用的時候,要留心哦。

以下是一些二維碼的常見陷阱,大家要多加小心哦:

二維碼詐騙

釣魚二維碼

免費領獎品

等等

那麼如何能加強二維碼安全,降低掃碼風險呢?

要保障二維碼的安全,需要在以下四個方面作出努力:

企業在對外提供二維碼時,要確定二維碼的安全。

我們在掃描二維碼時,一是使用由安全鑒别功能的終端,二是要有安全意識,不掃描來路不明的二維碼。

國家立法保護與二維碼支付有關的行為。

技術發展,有更安全、适合漢字、包含更多資訊的“漢信碼”。

目前二維碼主要适用于移動支付,是以我們國家支付清算協會向各個支付機構下發了《條碼支付業務規範》,在此規範中明确指出支付機構開展條碼業務需要遵守的安全标準,這也是保證我們在日常使用二維碼時更加安全。而我們也要樹立防範意識,提高對二維碼的認識,正确使用二維碼,購物支付時注意保護支付碼,讓二維碼給我們的生活帶來更多便利。

随着大陸科學技術的發展,我們國家也在研發屬于我們自己的“二維碼”--漢信碼,2021 年 7 月 28 日,漢信碼 ISO 國際标準項目獲全票通過。8 月 27 日,漢信碼 ISO 國際标準 ISO/IEC 20830《資訊技術 自動識别與資料采集技術 漢信碼條碼符号規範》(Information technology — Automatic identification and data capture techniques — Han Xin Code bar code symbology specification)正式出版。這是我們國家自主研發,并且相較于國際上其他的二維碼而言,漢信碼更适合漢字資訊的表示,并且能夠容納更多的資訊。

轉載内容僅代表作者觀點

不代表中科院實體所立場

如需轉載請聯系原公衆号

來源:中興文檔

編輯:荔枝果凍

繼續閱讀