全球每天消耗上百億個二維碼,一旦用完了怎麼辦?

媒體大律師


全球每天消耗上百億個二維碼,一旦用完了怎麼辦?

我們不清楚其他國家的生活和二維碼之間的關係,但至少在中國,二維碼已經和我們日常綁在一起,我們很難想象一個離開了二維碼的生活是什麼樣子,萬一二維碼用完了呢?

二維碼是誰發明的?

二維碼種類很多,常見的有QR Code、Data Matrix、Code 16K、MaxiCode、Aztec、Vericode、PDF417、Code 49等,很多產品上都會貼上各種標準的二維碼,但我們日常使用的,比如各種支付碼格式是QR Code,所以來自國外的朋友會用QR Code來稱呼我們日常使用的各種支付碼!下文以QR CODE來說明。

QR Code碼是1994年由日本DW公司發明的,它誕生後,就在信息量大,糾錯能力強等優點絕殺了二維碼,在日本和全世界應用廣泛,我們日常也已經離不開二維碼,平均每天都會掃碼數個甚至數十個,而各種支付碼為保證安全是即時產生的,即用過一次即失效,下次重新產生,那麼吃瓜群眾有一個問題,會不會某天二維碼用完了呢?

QR CODE數據編碼方式

要說明會不會用完,首先得來了解下QR CODE編碼方式,下圖是一張QR CODE基底圖,不含信息,僅僅表示編碼:

QR CODE最明顯的特徵是除了右下角外其他三個角上是一個巨大的回字形定位標誌,其他主要的區域有數據與容錯,版本信息,糾正標誌等,包含QR CODE能不能用完的關鍵是數據編碼的排列組合能不能窮盡!一個QR CODE最大的能包含多少信息呢?

一張小小的二維碼搭載的信息量是驚人的,那麼它所包含的組合總共可以有多少種呢?

QR CODE空白區域表示0,黑色區域表示1,那麼數一數它最大面積的版本有多少格子就能算出它有多少種可能了!QR CODE總共有40種不同密度的結構:

最小的版本1編碼模塊為21×21,編碼數量總有:2^(21×21)

最大的版本40為177×177,編碼數量總共有:2^(177×177)碼

前者大約有5.6×10^132個編碼

後者大約有:9.3×10^9430個二維碼

可能大家對這個數量並沒啥概念,但宇宙中的原子數量總共之有10^80個,所以即使是最小的的那個二維碼也可以給宇宙中每個原子編制一個二維碼,而且還綽綽有餘!而更大的版本40則可以對所有的“平行宇宙”進行編碼,也許還是編不完!

QR CODE的容錯功能

從上文我們知道了QR CODE是用不完的,但QR CODE本身包含的信息量太大,而我們有又用不到這些新的時候就有新的玩法了,我們可以將容錯信息編制進去,當QR CODE汙損時將會起到糾錯作用!

從7%到30%不等,但糾錯效果越好,面積也將越大,所以大部分都取折中的15%糾錯率,優點類似於服務器中硬盤陣列,犧牲容量的方式來保證數據的安全性,如下是硬盤陣列的容錯比例:

RAID0:無容錯,可靠性降低一半

RAID1:可以損壞一半硬盤

RAID5,可以損壞一個硬盤

RAID10,可以損壞一半硬盤(理想狀態下)

當然硬盤陣列的的容錯和QR CODE容錯原理是不一樣的,但兩者宗旨是一樣的,保證數據安全!

QR CODE的安全性

其實我們要說的不是加密,而是包含有害信息,因為它是隱含的信息,因此即使包含有害信息我們也無法看到,比如包含欺騙、誘導或者淫穢色情甚至木馬等信息時危害是很大的,因此對於來歷不明的二維碼我們要謹慎“掃一掃”,而且手機上安全軟件不要忘了裝!


星辰大海路上的種花家


    二維碼是有限的,但是用不完。


    二維碼的數量

    做個計算題。目前,最大的二維碼格式是V40,177*177個像素,有2^(177*177)這麼多組合,大約是10的10000次方不同信息組合,算上V1~V39格式的二維碼,那麼二維碼最多有10的12000次方。


    與銀河系相比:銀河系的總質量是10^41千克,那麼所有的二維碼都用上,全銀河系的每千克物質,可以包含10^900個二維碼。


    與地球相比:地球的總體積是10^12立方千米,也就是10^29立方厘米,一立方厘米相當於一塊橡皮那麼大,所有的二維碼都用上,那麼地球每一立方厘米有10^800個不同的二維碼。


    結論,二維碼數量有限,但是根本用不完。

    科普二維碼

    二維碼是在1994年,一家日本的公司發明的,最開始是彩色的,用戶追蹤旗下公司零部件的維修情況,後來為了提升效率,改進成黑白色。


    二維碼採用特定的幾何圖形,將黑白相見的圖形有規律的分佈在二維反向上,其中白塊表示“0”,黑塊表示“1”,便於計算機識別。


    在二維碼上有不同的區域,標識不同的信息,比如對齊模式、定時模式、安靜區域、版本信息、數據單元等。


    總之,二維碼有廣泛的用途,可以用來記錄信息和傳遞信息,並且具有唯一性,常見的用途有手機支付、信息獲取、網站跳轉、防偽溯源、會員管理等,二維碼應用到了人們的方方面面,成為生活中不可獲取的一部分。二維碼的容量巨大,不用擔心哪天被用完或者不夠用。

如果覺得對你有幫助,可以多多點贊哦,也可以隨手點個關注哦,謝謝。

Geek視界


如果明白了二維碼的原理,就不會有是否會用完這樣的疑問。

手機號碼、車牌號、IP地址等,就有被用完的可能性。原因在於它們不允許重複。而類似姓名、網上暱稱、個性簽名等等,則允許重複,所以永遠也不會用完。比如現在一大堆人姓名是張偉、李子涵等。

注意:二維碼是允許重複的。

二維碼看上去顯得很神秘,事實上它只不過就代表一串文字(多數情況下,99%如此,下邊的討論不再註明),在整個過程中,也沒有用到加密技術。比方說下面這個二維碼,就是“犍為真人”四個漢字。

這麼花裡胡哨的一張二維碼,就完全等同於文字“犍為真人”。那麼問題來了,既然完全等同,為什麼不直接用文字呢?這就涉及到打字的辛苦。打字速度再快,也是需要花時間的,4個字還好,如果400個呢?另外,像11位手機號,我們打字的時候都要反覆對照幾遍,還不保證一定正確不粗心。於是二維碼就發明了,它主要針對手機、平板。二維碼目的就是用來複制一串文字,避免打字錄入。比方說,我要給你一個手機號(比如海報,廣告),以前要把手機號打印在紙上,你照著一個一個輸入。現在,我把手機號轉換成二維碼打印到紙上,你用手機對著紙上的二維碼掃一掃,直接就識別出來11位數字。

當我們用手機掃二維碼時,會啟動手機的自動識別程序,將圖片識別成一串文字,於是就輕鬆實現了類似電腦複製粘貼的功能。說得更直白一點,假設未來圖像識別技術非常發達,那麼二維碼可能就慢慢消失了,因為直接掃文字就可以了。也就是說,那時候我把上面那張二維碼圖換成醒目的“犍為真人”四個大字,是完全沒有區別的。

那麼為什麼現階段二維碼可以輕鬆識別?那就是因為它用到了特殊的,針對計算機(手機也是計算機)攝像頭的算法,天生就是給計算機看的。這就好比,盲人看(摸)普通文字很費勁,他們用盲文。相反普通人看盲文又覺得是“讀天書”。

大家都知道,計算機用二進制表示信息。二維碼的那些黑白方塊就是二進制。黑色代表1白色代表0。黑白必須對比清晰,然後攝像頭拍照後轉換成010101這樣的二進制。之後用較複雜的解碼算法轉換成文字。

算法中最複雜的設計就是糾錯。意思是說,即使識別錯了一部分黑白塊,依然可以成功解碼。舉個人類識別的例子。比方“38”這樣的文字形式就不合理,因為容易把3錯誤判別成8。而“三八”,“叄捌”就很好。而且即使這樣的文字被遮擋一部分或很模糊,依然可以被人類辨別。這就叫“糾錯”或“容錯”。除了糾錯,二維碼還涉及到定位參考,掩碼等技術。這裡就不再展開介紹。

我們再來看看二維碼的容量到底有多大。在國內,二維碼多數用的都是QR碼。QR碼最多能表示7089個純數字,或者4276個字母(形如網址的字符),或者2953字節的二進制(相當於2.9KB)。還有日文中文等最多表示數就不再列出。

已經足夠多了!

而我們平常見到的二維碼,最多的就是網址,其次是純數字。比如微信掃碼支付(商家掃你),公交地鐵掃碼,共享單車掃碼,火車票實際上代表的就是一堆純數字。而關注公眾號,微信支付(你掃商家),就是一個網址。這些數字或二維碼,通常長度還不到30位。

再強調一下,二維碼多數時候僅僅就代表一串文字。比方說你掃商家的二維碼,實際上就是一個網址。這時候,你自己在微信瀏覽器中手打輸入這個網址,然後打開,效果是一樣的(彈出一個輸入金額的畫面)。區別就是手打網址,要打半天字浪費時間,還容易輸錯。

明白了這些道理,就知道了二維碼是用不完的。一方面,二維碼允許重複。另一方面,二維碼幾千的最大容量,足夠表示日常的網址和數字編碼。


犍為真人


二維碼最初由日本的一個程序員所發明,跟傳統的條形碼相比,二維碼相當於是二維化的條形碼,二維碼的數量是有限的,有人說全球每天消耗上百億個二維碼,那麼二維碼會有用完的一天嗎?

二維碼的出現極大地方便了人們的生活,別的不說,光就我們每一天使用的二維碼支付,就大大提高了購物的速率。而我們每天使用的二維碼,每隔一段時間都是會不停地變化的,隨機進行黑白組合。仔細看二維碼你可以發現,在二維碼中有三個比較大的點,而這三個點是用來定位的,不論你是正面掃描還是傾斜掃描,或者旋轉180°掃描,都可以掃描出二維碼來。

二維碼最初是彩色的,後來為了提升效率,改進成了黑白色,二維碼採用特定的幾何圖形,將黑白相間的圖形有規律地分佈在二維平面內,其中白色的塊代表數字“0”,黑色的塊代表數字“1”,這是為了便於計算機的識別。二維碼上有不同的區域,每一個區域標誌著不同的信息。二維碼的組合方式雖然有限,但是這也是一個天文數字,根本不用擔心某一天它會被用完。

二維碼的組合數量跟二維碼自身的像素密集點有關,簡而言之,像素越高,那麼二維碼的組合數量就會越多。目前的二維碼中,最大的二維碼格式是V40,擁有177×177個像素點,那麼這麼多的像素點,能夠形成的所有二維碼的數目是多少呢?這是一個很容易計算的問題,也就是2^(177×177)個,差不多是10的10000次方,這還只是V40格式的二維碼組合數量,如果算上V1到V39的,恐怕還要多上不少。



所以說,即使地球上每天消耗上百億個二維碼,那麼等到二維碼用完,恐怕到宇宙滅亡的那一天都不可能,更不用說了,二維碼的像素密集點還可以進一步擴展,而一旦進一步擴展的話,數量又是呈幾何爆炸式增長。所以結論是,二維碼雖然數量有限,但是根本就是用不完的,二維碼有廣泛的用途,它已經成為了生活必不可少的一部分,二維碼的容量巨大,不用擔心哪天被用完或者是不夠用。


鏡像宇宙


再瞭解二維碼數量之前,我們先了解二維碼的原理。

二維碼的原理

二維碼其實就是由0、1組成的二進制,我們看到的二維碼每個方塊,都有意義,其中白色的方塊代表0,黑色方塊代表1。

而我們日常用的比較常見的是37*37的格子,其中三個角都有一個固定的方塊,這個方塊的大小是固定的,是用於識別時,方便定位二維碼防線的用途。大小有7*7個像素點。

所以,37*37的二維碼格子,可以產生37x37-49x3=1222個格子,又因為每個格子僅僅代表0或1兩種情況,因此,共有2^1222種排列組合情況,也就是說,一個37*37的二維碼格子,可以產生2^1222個二維碼。

可能這樣說,大家沒概念,我們可以和全世界的人口做個對比,根據世界人口時鐘比較,截止到2019年10月20號下午3點13分,目前全世界人口大概為7744402531人(77.44億人),如果想要用完所有的二維碼,大概每個人需要用完10^(292)個,並且還有非常多的剩餘。

還有,我們宇宙中有非常多的基本粒子,甚至每個人體內都有上萬億個中微子穿過,由此可知宇宙中的粒子數是多麼的恐怖。據科學家推算,全宇宙中的粒子數大概有3.28×10^80(肯定有誤差,這已經是非常保守的估計),而二維碼比全宇宙中所有的粒子加起來還要多。

由此可見,二維碼雖然是有限多的,但卻用不完。

而37*37的二維碼只是其中一種,還有40*40,21*21等40多種規格,因此不用擔心二維碼被消耗完的問題。

識別二維碼的原理

二維碼雖然在人類看來像天書一樣,並且每個二維碼看起來都差不多,但在機器眼裡,每個二維碼都不相同。

首先白色之所以是白色,是因為它能反射各種波長的可見光,而黑色則相反,能吸收所有波長的可見光。所以當機器在靠近二維碼並識別時,機器會根據不同的波長判斷這個格子是白色還是黑色。

由於黑色和白色代表著不同的數字“0”“1”,所以機器也會自動識別出這個二維碼不同的排列方式,其實還要注意一點,機器在識別圖形時,會由於各種原因出現差錯,而二維碼之所以很少出錯是因為它自身儲存一定容量的糾錯率。

比如我說:“我有一個蘋果”,當你聽錯一個字之後,你可能會誤解我的意思,但如果我說:“我有一個蘋果,英文名叫apple,喬布斯用它做手機的名字....”等等,看似一大堆的廢話,你再識別我的信息時,就很難出錯了。二維碼也有一些方格,對應的是這些廢話,防止識別錯誤。其實這也是信息學的香農第三定理。

當機器識別出二維碼不同的排列方式之後,然後就會像我們打開網頁一樣,每個不同的排列方式,對應著不同的“網頁”,而這個網頁被人們提前編撰過信息,所以識別出這個“網頁”時,對應的信息也會被識別出來。

因此,二維碼不僅能包含簡單的價格,也可以包含一個網頁,一個自我介紹,一份簡歷等等任何你想輸入進去的東西。


鍾銘聊科學


答:二維碼數量雖然是有限的,但是多到用不完,永遠也用不完。


二維碼原理

二維碼發明於1994年,相對於一維的條形碼,二維碼具有更大的容量;二維碼本質上就是一個矩陣,在常見的二維碼中,白色色塊表示“0”,黑色色塊表示“1”,經過掃描器讀取後的二維碼就成了一段特殊的代碼,計算機從而識別出代碼中的有效信息。

二維碼的數量

二維碼能表示的數量和二維碼自身的像素有關,像素越高,二維碼錶示的數量成指數增長,但是讀取二維碼和掃描器的像素有關,在各種二維碼當中,我們常用的編碼方式是QR Code,目前該編碼方式用到最大的像素為177*177=31329像素,那麼理論上,該編碼方式的組合數量為:

2^(177*177)≈10^20000;

這是一個非常巨大的數值,哪怕全球人口有1000億,每人每秒鐘消耗1億個二維碼,即便從宇宙大爆炸開始至今(138億年)一直在使用,也就消耗了4.35*10^36個二維碼,遠遠低於177*177像素的二維碼數量,更何況二維碼的像素是可以繼續擴展的。

實際上,二維碼有些固定信息以及糾錯碼,所以固定像素的二維碼數量要低於理論值,但是數量也多到用不完,而且平常我們也用不到177*177這麼高像素的二維碼。


生活中的二維碼

平常我們用得最多的就是支付二維碼,每張二維碼裡面,其實包含了你的支付平臺、賬戶信息、支付金額和時間等等,你換一張支付碼,其中的數據跟著變化,但是信息所佔長度未變,時間隨時都在變化沒有終點,所以屬於你的支付碼是用不完的。


我的內容就到這裡,喜歡我們文章的讀者朋友,記得點擊關注我們——艾伯史密斯!


艾伯史密斯


二維碼本質上說是有限的,但是幾乎沒有用完的可能性。

而且,二維碼上的用完了時候,可能人類已經開發很多新的技術了。

二維碼的數量有很多

從理論上說,二維碼的數量是有限的。目前最大的二維碼格式是V40,177*177個像素,有2^(177*177)這麼多組合,算上V1~V39格式的二維碼,那麼二維碼最多有10的12000次方。再說,如果人類再開發更加大的二維碼,只要大一個像素,那就是更加這一個二維碼就會呈現指數級的增長的。

也就是說,即使地球每天消耗的二維碼是100億個,但是人類也不知道什麼時候能夠用完,上百年上千年的時間都用不完。

再說,有一些二維碼本身會被重複利用的。好像我們平時的商販的的二維碼,它們的二維碼是固定的,因為是綁定到某一個地址上的,幾乎不需要變動,所以這些二維碼是固定的。

開發新的技術

二維碼是在1994年被髮明的,在日本被髮明的,接近差不多20年之後,才被中國放揚光大。

二維碼從發明到廣泛使用,到今天才不過20年多一點。在這段時間中,二維碼並沒有消耗多少。

但是,在付款上,我們已經開發出NFC,開發出人臉識別支付,開發出無感支付。可以說,在二維碼被消耗完之前,人類一定會開發出更加先進,更加方便的技術。

所以,我們就不需要杞人憂天了~


太平洋電腦網


在討論這個問題之前,我們先看看什麼是二維碼:


所謂的二維碼,其實就是把一些信息以黑白圖像的形式展現出來。具體實現的原理就是:我們可以製造一個固定長度和高度的區域,然後把我們的信息寫成1,0二進制形式。然後再把二進制的1表示成為黑方框,0表示一個空(白)方框。這樣,把這些黑白相間的方框寫入我們劃定的區域,就組成了一個二維碼圖片。當然了,二維碼圖片裡面還有一些定位圖形,輔助定位圖形,等特徵標識圖。出去這些標識符之後,剩下的區域就可以寫入我們剛才轉換過後的黑白方格了。這樣,一個信息就順利轉換成為了二維碼。

其實,上面的原理我們也可以看到,二維碼能夠表示信息對多少,和能夠寫入多少二進制數有關。目前我們常用的二維碼是QR碼標準,這個標準中,一副圖形長可以寫入177個方框,寬也可以寫入177個。那麼這樣就是可以寫入177*177=31329個方框(未除去識別圖形站的面積)。這麼多方框以為著可以寫入2^31329個二進制數。如果我們用ASCII碼錶示信息,一個ASCII碼佔位8,則一個177*177的數據存儲空間可以寫入長度是L=177*177/8=3916個字符。也就是說,一個二維碼可以表示一個長度是3916的任意字符串。

在生活中,我們使用要生成二維碼的字符串長度也就是幾十個,比如一個網址,長度很短,根本就不到3916位。當然了,如果你的信息量很大,超過了3916個字符,那麼二維碼確實就表示不出來了。但就目前來看,3916長度的字符,已經足夠我們表示任何信息了。


科學探秘頻道


感謝您的閱讀!

理論上,我認為用不完。

二維碼到底是什麼?如果你不懂這個,你可能很難理解我接下來要說的話。

二維碼實際上就是一種編碼方式,通過某種特定的幾何圖形按一定規律在平面上,分佈的黑白相間的圖形記錄數據符號信息的!怎麼樣,是不是有點摸不著頭腦,別急,我們說的簡單些:

把信息通過黑白方塊,填入到一個被限制了的大方塊裡。並且通過我們熟知的二進制,將與二進制相對應的幾何圖形給賦予在黑白方塊上。比如0對應的就是白色方塊,1對應的是黑色方塊,八個一組,填入了這個方框裡!在我們掃描的時候,就會出現你想要的信息了!

那麼,現在的問題來了,這樣的組合形式,是不是會有終結的一天呢?

瞭解二維碼的多少?

在這個矩形的方塊裡,我們如果簡單的將它看成某個被限制的多少,我覺得是不恰當的!

本身二進制轉化為信息,在被採集到了機器設備中,本身的存儲數據就是無限的;雖然有人進行計算,比如通過177 x 177 的矩陣進行計算,得出了二維碼最多有10的12000次方。也有人通過計算,它有有3.40*10^7111種可能。

可是,我們看到的是矩陣式的二維碼,要知道二維碼的種類可不止這一種呢?而且即使矩陣式,它的排列方式也是多樣的,在多種變量下,二維碼的數值就很難被確認!

所以,我的觀點是即使是理論上有限,實際上卻用不完,更何況二維碼能夠存活多長時間?這就是一個問題!


LeoGo科技


全球每一天在消耗上百億個二維碼,二維碼使用完了,該怎麼辦?

暫且不談其他二維碼的使用,就單獨收拾我們每一天使用的二維碼支付,每隔一段時間都是在不停的自動變化,隨機進行黑白格組合

其實你有沒有發現?二維碼當中,真正起作用的其實是那三個四方形點,而且不管你怎麼掃描,是正面掃描,或者是傾斜掃描,或者是旋轉180度掃描,你都可以確認並進行掃描,所以真正起作用的是三個正方形的小點,它的作用就是用於二維碼定位,對於除此之外,這三個點的其他黑白空格組合,即便是二維碼的數量是有限的,但最終決定定位,並且起關鍵作用的卻是這三個點,所以就不用再糾結二維碼是否能夠使用完,或者是使用完後怎麼辦?



那麼有人問,為什麼是三個正方形,才可以定位並且識別二維碼,因為三個點可以正好組合,確定一個正方形的存在,我們平時使用的手機才可以正常的識別,


分享到:


相關文章: