今天我們來聊一聊如今與我們日常生活聯(lián)系非常密切的一樣東西——我們出行,就餐,購物,幾乎是每天都可能會用到。沒錯,就是二維碼。
曾幾何時,誰能料到,一個小小的黑白碼竟有如此廣泛的用途,誰能料到這個看起來普普通通的黑白小方格正在潛移默化地改變著我們的生活?掃碼支付:現在連路邊賣水果的大爺都在微信、支付寶收款了,如果你還固執(zhí)的使用現金支付,那真的是”out”了。行程跟蹤碼:疫情以來,個人一碼通作為疫情管控期間個人出行的關鍵電子憑證,為防疫流調打下了堅實的基礎,是市民安全的重要保障。這些都只是二維碼最普通的應用場景,常見的還有掃一掃獲取產品電子說明書,會員管理,廣告推送等等。還記得你是從什么時候開始使用二維碼的嗎?你了解二維碼嗎?為什么我們見到的二維碼都有三個回形小方塊呢?今天就讓我們來揭開它神秘的面紗吧。現在我們廣泛使用的二維碼是QR(Quick Response)碼,最早出現在1994年,并在2001年引入中國后,迅速地融進了我們的生活。二維碼是由條形碼改造而來。在商品包裝上最常見,由黑白相間粗細不同的的豎條紋組成,商品的信息就藏在這個條形碼中。收銀員通過掃描條形碼就可獲得商品信息,從而實現快速結賬。條形碼是在一個維度上攜帶信息的條碼,二維碼顧名思義就是在水平,垂直兩個維度上都攜帶了信息,因此從條形變成了方塊狀。無論是條形碼還是二維碼,本質上都是個信息入口。一個完整的二維碼是由若干個黑色小方塊和白色小方塊組成的,首先是將數字、字母、符號等字符經過一定的運算編碼規(guī)則轉換成二進制的“0”和“1”,再經過一系列優(yōu)化算法就得到了二維碼。二維碼上的白色小方塊表示二進制的“0”,黑色小方塊表示“1”。二維碼進行讀取時,通過顏色反差讀取到二維碼上的01順序,之后通過數字,字節(jié),特殊字符,混合編碼,漢字編碼等來將二進制進行轉為我們可以認識的字符。二維碼的生成遵循二進制編碼,它們的排列方式就是信息的體現。它的基本功能區(qū)劃分為:- 位置探測圖形、位置探測圖形分隔符、定位圖形:二維碼的三個角落都分布著一個較大的回形黑白方塊--位置探測圖形,它和位置探測圖形分隔符、定位圖形一起幫助二維碼在形成的過程中進行定位,減少錯誤排列的出現。不管你的手機是橫著掃、豎著掃,還是斜著掃,它都知道二維碼應該從哪個方向開始讀。對每個QR碼來說,它們的位置都是固定存在的,只是大小規(guī)格會有所差異。
- 格式信息:表示該二維碼的糾錯級別,級別越高,糾錯能力越強。例如,需要編碼的碼字數據有100個,并且想對其中的一半,即對50個碼字進行糾錯,則計算方法如下。糾錯需要相當于碼字2倍的符號(RS編碼※),因此在這種情況下的數量為50個×2=100碼字。因此,全部碼字數量為200個,其中用作糾錯的碼字為50個,所以計算得出,相對于全部碼字的糾錯率就是25%。這一比率相當于QR碼糾錯級別中的“Q”級別。
- 校正圖形:在圖像有一定程度損壞的情況下,譯碼軟件可以通過它同步圖像模塊的坐標映像。不同規(guī)格的二維碼校正圖形的數量和位置是不一樣。規(guī)格確定,它的數量和位置也就確定了。
- 數據和糾錯碼字:實際保存的二維碼信息和糾錯碼字。這是二維碼的一種容錯機制,舉個例子假設一個二維碼有30%以下的面積被遮蓋或者去除時,二維碼掃描器依然能夠從這個殘缺的二維碼中準確獲取信息。
- 版本信息:即二維碼的規(guī)格,QR碼符號共有40種規(guī)格的矩陣,從21x21(版本1),到177x177(版本40),每一版本比前一版本在縱向和橫向各自增加4個模塊。二維碼的各個版本結合數據量、字符類型和糾錯級別,均有對應的最多輸入字符數,需根據實際需求選定。如果增加數據量,就需要更多的碼元,二維碼就會越大。
當掃描設置開始掃描二維碼時,根據位置探測圖形、位置探測圖形分隔符、定位圖形迅速提取待識別區(qū)域。有時候我們用手機或者其他設備掃描二維碼時并不是正對著二維碼,或者,即使是正對著二維碼,也會在一定程度上造成二維碼傾斜,拉伸等等變形。但是我們發(fā)現這并不能影響二維碼的識別,那么設計成一些固定比例的長方形塊的校正圖形就可以幫助設備對被掃描圖片進行正確的矯正。總結下,我們二維碼的的識別過程大致如下:打開手機或其他設備掃一掃對準二維碼,掃描失敗,告知返回上一步,重新開始。顯示掃描框,方便用戶對準二維碼。如今地球上幾乎每個國家每天都在使用二維碼,而且每日使用的數量超過100億個,那么二維碼終有一天會被用完嗎?這就要看看人類能夠制作出多少個二維碼了。- 二維碼有很多種類(QR碼只是其中一種,其他常見的還有QR Code、Code 49、Code 16K等等),每一種二維碼都可以承載很多信息。
- 同一種二維碼,由于各種版本的差異,每個版本都能搭載很多信息。
- 二維碼是可以重復使用的,比如,可以讓同一個二維碼可以實現不同鏈接跳轉,用同一個二維碼可以讓在不同時間不同地點人們掃描看到不同的內容。
我們目前使用的最小二維碼為例,規(guī)格是21×21,其中就包含了21×21個可排列的點,這些點都能表示1或者0。因此按照排列組合的方法進行計算,那就是2的441次方,展開的話就是5.678×10^132,這個數字已經是天文數字了。僅僅一個版本一種編碼方式的二維碼就可以存儲如此多的信息量,以人類一天用掉100億個二維碼的速度來進行計算,我們完全不用擔心二維碼會用完。“碼上生活”給我們帶來便利的同時,安全問題也隨之而來。由于二維碼生成器很容易從網上獲得且發(fā)布又沒有限制,因此很容易被一些不法分子利用實施網絡詐騙。分享一個真實的案例:李先生在淘寶網購物時,看中一家網店的液晶電視,價格要比市面上的便宜近千元。店主“天馬桃園”聲稱可以拿到低價“私貨”,李先生便接受了店主讓他通過掃描二維碼進行支付的要求。李先生通過手機掃描了店主發(fā)來的二維碼后,進入一個支付界面,輸入銀行賬號和密碼后點擊支付,但發(fā)現支付失敗。店主告訴他可能是系統(tǒng)出現故障,讓他重新掃描。李先生先后掃描了七次,全都以失敗告終,無奈只能取消交易。但隨即發(fā)現自己銀行卡被扣17000余元,此時才反應過來自己被騙了。因此樹立防范意識,提高對二維碼的認識,學會正確使用二維碼十分必要。騙子雖狡猾,但換湯不換藥。我們日常使用的時候,要留心哦。- 企業(yè)在對外提供二維碼時,要確保二維碼的安全。
- 我們在掃描二維碼時,一是使用由安全鑒別功能的終端,二是要有安全意識,不掃描來路不明的二維碼。
- 技術發(fā)展,有更安全、適合漢字、包含更多信息的“漢信碼”。
目前二維碼主要適用于移動支付,所以我們國家支付清算協(xié)會向各個支付機構下發(fā)了《條碼支付業(yè)務規(guī)范》,在此規(guī)范中明確指出支付機構開展條碼業(yè)務需要遵守的安全標準,這也是保證我們在日常使用二維碼時更加安全。而我們也要樹立防范意識,提高對二維碼的認識,正確使用二維碼,購物支付時注意保護支付碼,讓二維碼給我們的生活帶來更多便利。隨著我國科學技術的發(fā)展,我們國家也在研發(fā)屬于我們自己的“二維碼”--漢信碼,2021 年 7 月 28 日,漢信碼 ISO 國際標準項目獲全票通過。8 月 27 日,漢信碼 ISO 國際標準 ISO/IEC 20830《信息技術 自動識別與數據采集技術 漢信碼條碼符號規(guī)范》(Information technology — Automatic identification and data capture techniques — Han Xin Code bar code symbology specification)正式出版。這是我們國家自主研發(fā),并且相較于國際上其他的二維碼而言,漢信碼更適合漢字信息的表示,并且能夠容納更多的信息。各位粉絲們,你對二維碼有更多的了解,可以在評論區(qū)留言,分享你對二維碼的看法或體驗吧。我們是一群平均從業(yè)年限5+的通信專業(yè)工程師。