淘新聞

除了像菊花的微信小程式二維碼,我還找到更多奇葩

審美這事,蘿蔔青菜各有所愛。比如最近微信發佈的小程式碼,有人感慨“終於換掉了醜陋的二維碼”,有人卻說它像“菊花”。

微信推出小程式,是因為二維碼醜嗎?我覺得未必。

先來看看二維碼是不是真的醜。

這是

羅輯思維家的動態二維碼,醜嗎?

這是專業設計師做出來的二維碼,醜嗎?

【設計師:月兒妝】

在腦洞大開的設計師手裡,二維碼們並不甘為一個普通的二維碼,它們個個都是有理想有追求的二維碼。它可能想變成一個披薩:

【設計師:dgnotdog】

或者變成一個科幻基地:

【設計師:邦古拉朵】

那些說二維碼醜的,或許只是缺一個開得了腦洞,又懂二維碼原理的設計師。

從無碼到有碼

我們如今常見的二維碼,更準確的稱呼應該是 QR 碼(全稱“快速回應矩陣碼”),最早是1994年由日本的 DENSO WAVE 公司發明的,雖然他們持有專利,卻將標準開放了出來,任何人不需要申請都可以使用它。這才有了今天“滿城盡是二維碼”的盛況。

二維碼的發明,和二進位緊密相關。二維碼中的每一個黑色方塊都稱為“碼元”。它代表著二進位中的 1,沒有碼元的位置則代表 0,不同的排列方式能夠表達二進位中的 1010110 …… 從而存儲海量的資訊。

據雷鋒網瞭解,一個QR碼,最多可以容納數字 7089 個,或字母4296個,或中文漢字984個(採用UTF-8編碼計算)。算起來,兩個二維碼就能把本文的所有文字藏起來。 

設計師能否隨意折騰?

一個完整的二維碼通常包括資料、定位等多個不同區域,每個區域承擔不同的功能。

設計師將一個普通的二維碼設計得精緻美觀,得益於QR碼的強大容錯能力。

【作者Great Brightstar 來自維琪共用資源】

根據格式的不同,二維碼的容錯率一般是7%~30%左右,

主要由容錯金鑰區域來承擔資料冗餘的作用

所以我們會發現,一個二維碼被遮擋一部分,並不會影響正常的掃描,因為它通過資訊冗餘來完成了糾錯。

但是,二維碼中重要的位置,比如三個定位標誌、版本、格式資訊等區域不能夠被遮擋。

【左邊遮住一大塊能掃,右邊只遮住定位點卻掃不出來】

在一個二維碼中,每個碼元只是起到了“點”的作用,形狀並不太重要,所以它可以由方形變成圓角,也可以變成一個獨立的圖案 。比如可以用一堆糖果來拼一個二維碼:

【圖片來源:UI設計網】

由此,我們會發現知道,其實QR碼能夠玩出的花樣非常之多。雷鋒網編輯認為,

微信推出小程式碼,並不是為了改善二維碼的外觀,最起碼不只是因為這個原因,更多的可以是出於安全以及管控的考慮。

雷鋒網注意到一件事:

微信以外的軟體都無法識別小程式碼,這說明小程式碼和QR碼採用了獨立的編碼方式和標準。

無獨有偶,在微信推出小程式碼之前,facebook 和 snapchat 也紛紛推出了 自己“環形碼”“幽靈碼”“菊花碼”。

它們相互不相容,像一個個孤島。

體系封閉,恰恰降低了被攻擊者惡意利用的可能性。

在此之前,二維碼由於技術門檻低、人人都可以複製、列印和發佈,安全問題已經廣受關注。很多病毒軟體或者惡意網站,通過轉換工具很容易就能生成二維碼,

手機掃碼使用後,病毒軟體就可以進入手機,掃碼就相當於點擊了一次病毒連結。

讓用戶自己去辨別哪些 QR碼是否安全,顯然風險過大,攻擊者會用層出不窮的方式來誘騙使用者掃碼,比方說前不久有人利用共用單車實施詐騙的手法。

自成體系的小程式碼,或多或少能緩解該問題。至少,以後“菊花狀”的二維碼可以更放心地掃了,因為每一個二維碼的生成和發佈,都在微信的管控之內。“ 掃了你家的碼,你就得負責。”

微信小程式正朝著一個大的開發者平臺發展,管控越來越強、體系越來越封閉,這是一種必然。蘋果的 AppStore、穀歌的Google play 應用商店都是如此。

出於安全和管控的考慮,未來支付寶、百度等大公司也很可能會搞出來自己的一套二維碼。但 QR碼 不一定會消失,不同的二維碼將在不同的使用場景,以合適的姿態存在。

文章參考:ui設計網 ——《帶你進入二維碼小世界》.zhanghongze

圖片素材來源:第九工廠學員作品