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

媒體大律師


二維碼不會用完很好理解,一看就明白有很多種排列方式。。難理解的是怎麼運用的怎麼防止相同的二維碼,最開始我還以為二維碼是聯網的由一個數據中心統一管理,比如用過的作廢,下一個二維碼產生才能保證不和前面的一樣。但經過了解這些想法都是錯誤的。這麼說吧二維碼不是唯一的,是可以重複的。所以你就不要糾結會不會用完這個問題了。二維碼可以看做是一種表達語言。比如中國話是一種語言,而且漢字數量還是很有限的,但是人們利用漢字交流完全沒有問題。漢字也可以重複使用,沒有人會說如果哪天漢字用完了會不會就沒話說了?二維碼也是一樣是一種語言,人人可以用,沒有監管,可以重複,但這種重複不會產生錯誤。比如你用微信去掃支付寶的二維碼收錢,是收不到錢的。[我想靜靜]


Facebook資訊


二維碼就這麼大一點,每個格還只能是非黑即白,那它會不會被用掉所有排列組合呢

答案是會,但是卻不會,嗯,沒錯

細心觀察會發現,不同地方二維碼橫豎格數是不一定相同的(二維碼目前共有40種規格,最少21x21,一規格橫豎各加四個格子,最多加39次既177x177),以微信名片舉例,二維碼是橫豎各37個格的正方形,其中三個角有固定的7x7的定位點,所以可用可以變換的點共有37x37-49x3=1222個格子,而每個格子只可能是黑或白兩種情況(電腦二進制的0和1),所以共有2^1222種排列組合情況,既理論上可以出現這些個不同的二維碼(有全黑全白還有的中間會放商標等圖形佔位置等情況可能出現所以是理論上),2^1222的結果為

emmm~顯示不下出錯了

不慌,用電腦算,

簡單點,2^1000出來是:

科學計數法:1.0715086071863 * 10^301

具體數字為:10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376

根據美國人口調查局的估計,截至到2013年1月4日,全世界有70.57億人,現在則會更多,算世界上共一百億人,平均每個人能分10^292個二維碼用還有大量剩餘,比全宇宙中的粒子數3.28×10^80還要多的多,所以說,二維碼雖然是有限的,能用完。

但就算不考慮未來的新技術,算的時候還為簡而少算的,不同規格的二維碼還不重複又是急劇擴大了可能情況數,單單現在的個數就是有限也太多了,多到根本用不完。而且決定二維碼格數上限的是手機像素,目前最高可識別就能達到4000x4000+,而現在的二維碼最多也就144x144,且只有40個規格,這提升空間之大,再以後沒準能用一張二維碼存個電影,光盤變紙張(這個想過頭了,目前的二維碼存1M都是大的了)……

當然這只是理論數值,而實際上二維碼並不只是個圖形而已,而是有特定意義的,這其中有大部分是雖然有排列情況但沒有意義(最明顯的,全黑,全白,還有很多是無法準確表示人可能希望表示的任何情況,所以用不了),但除去這剩下的也夠多了。而既然二維碼是有特定意義的,那麼反過來從另一個角度來看,每一個目的每一個要它表達的值都是不同的,都會形成一條特定編碼,所以這樣看二維碼仍是無限的。而且無意義的二維碼也可以人工賦予它人所希望的意義。

還有,那……條形碼不夠用的嗎

然而並不是主要的,而是因為二維碼能儲存一維碼不能存的漢字、圖片等信息,以及二維碼相對於條形碼更能容錯(不信可以找一個二維碼,然後蓋住一部分,再掃它,看看是不是並不影響掃描,有時蓋一半都能正常掃,原因是一般都用上了rs碼四級糾錯),還有能加入保密措施,更安全,還有出錯率低(掃二維碼還會出錯?嗯,只是出錯率太低,如果掃錯了,趕緊馬上立刻,去買彩…不對,買啥彩票,去抽波十連),還有尺寸大小可按比例隨意變(條形碼就只能在固定範圍內細微變化,不然就掃不準,附,條形碼的標準尺寸是37.29mm x 26.26mm,放大倍率是0.8-2.0

還有還有,生成二維碼會不會生成重複的,就比如馬雲的支付寶轉賬二維碼和我的碰巧生成了一樣的,然後……並不會,二維碼上的黑白點排列並不是隨機無意義的,而是原始二進制代碼,代表某一個意義,而不同的人的二維碼要它表示的意義讓它代表的事是不同的,所以不會有重複的。

異想天開一波,我畫一個,如果只是隨便畫一個,還真的有可能能掃出來,雖然更大幾率是畫出掃不出的無意義的二維碼,但掃出來幹嘛,給不認識的不知道誰轉錢麼……

為何電子設備中的二維碼是隨時變化的,支付寶->付錢(生成一個二維碼)->返回(那個二維碼幾分鐘後失效,時間不固定)->付錢(生成一個新的二維碼),既然二維碼是特定意義,那表示“加我好友”或者“關注我”的代碼不應該是固定的嗎?也不是,現實中的特定意義在網絡數據中卻不是不變的,支付寶付款碼是“活碼”,活碼本身不是存儲的這個目的的碼,而是對一個分配的短網址進行編碼,掃描後跳轉到這個網址。這樣將內容存儲在雲端,可以隨時更新、可跟蹤掃描統計,可存放圖片視頻、大量文字內容,同時圖案簡單易掃。 缺點是掃描時必須聯網。而不變的是靜態碼,是直接對電話、地址、網址等信息進行編碼(一般最多50個文字), 所以無需聯網也能掃描顯示,缺點是生成的二維碼圖案非常複雜,不容易識別和打印,容錯率低,而且印刷後內容無法變更,無法存儲圖片和文件


蔣xiansheng生活記


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

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

二維碼是誰發明的?

二維碼種類很多,常見的有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的安全性

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


星辰大海路上的種花家


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



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

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



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


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


鏡像科普


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


    二維碼的數量

    做個計算題。目前,最大的二維碼格式是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視界


“極客談科技”,全新視角、全新思路,伴您遨遊神奇的科技世界。

隨著移動支付的快速發展,電子錢包快速發展,據統計每10箇中國人裡就會有8個使用移動支付。移動支付中離不開的就是二維碼,全球每天將會消耗上百億個二維碼。不禁會令人產生擔憂,二維碼是否會同我們的IPV4地址一樣,面臨枯竭的問題呢?


關於二維碼是否會存在枯竭的問題

先給出答案再慢慢解釋,即便每天百億的消耗,二維碼的數量足夠支撐至下代技術出現之前的正常運轉。這一切源於二維碼的設計方式,包含了足夠多的數量。

二維碼的編碼方式有很多種,但是具體的實現原理大同小異。利用某個區域黑白色塊標識不同的信息,意味著二維碼同樣使用的是2進制,非黑即白!除了常規的數據區域外,編碼上還包含各種格式信息、版本信息、控制信息、校驗信息等,二維碼的計數是要排除該部分信息。即便如此,二維碼的數量依然較為龐大。

因為二維碼編碼方式有很多種,很難確定二維碼支持的最高數量(受到硬件像素制約,後面會提及)。我們簡單舉個例子,假設使用矩陣式二維碼,並且橫豎之間只支持20個像素點(實際情況遠遠多於20個像素點)。那麼,會包含多少個二維碼呢?2^400個二維碼。

這裡大家可能並沒有一個明確的概念,看看我們萬物互聯的IPV6是多少個地址吧!2^128,即可實現我們身邊每件設備的互聯。那麼,二維碼數量的恐怖您也該有所體會。2^400這個數字是否是二維碼的極限呢?不是,這裡僅僅是為了便於理解所列舉的一個小例子。

二維碼的數量與我們硬件掃描的設備有關,硬件設備能力越強二維碼的數量也就越多。例如我們二維碼使用800*800的像素規格,那麼支持的地址就是2^640000。這裡是指數級的增長,並非是簡單的翻倍,可以說這是一個相當恐怖的數據。試想,硬件的提升,這個像素點若提升至4800*4800又該如何呢?您還會擔心二維碼不夠使用的問題嗎?


關於二維碼地址是否會枯竭的問題,您怎麼看?

歡迎大家留言討論,喜歡的點點關注。



極客談科技


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

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

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

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

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

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

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

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

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

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

已經足夠多了!

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

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

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


犍為真人


這個問得太不專業了,能否用完我不清楚,但是有個叫"協議"的東西你沒有弄清楚。二維碼怎麼使用只跟對應的APP所定義的內部協議有關。打個比較極限的比方。比如某一個二維碼掃出來的是二進制類容“110”。用某服務APP掃出來,可能指的是110報警電話。用某公交APP掃描,顯示的是110路公交車的信息,支付寶掃描出來的意思是付款110塊,微信掃描出來的意思是收款110塊,等等,這都是可以的。所以掃描出來的二維碼的內容該怎麼用,由掃描的APP裡面的程序代碼決定怎麼使用(即APP自己定義的內部協議規定)。

再打個淺顯的比方,同樣是21路公交車,北京的21路,和上海的21路公交車,能一樣麼?有衝突麼?顯然沒有。同樣是21路,該怎麼用,由各地決定,互不衝突。

因此,就算用完了 ,出現重複,也不影響使用,只要是同一使用協議內不重複就沒有關係。


香醉忘憂


感謝您的閱讀!

理論上,我認為用不完。

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

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

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


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

瞭解二維碼的多少?

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

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


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

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


LeoGo科技


首先回答二維碼是用不完的,上百億隻是你認為很大,在數學上不過是11位數字而已。

1,什麼是二維碼

維碼又稱二維條碼,我們常見的二維碼為QR Code,QR全稱Quick Response,比如我們每天用到的支付寶掃一掃,微信掃一掃,公交,地鐵掃一掃的等,都屬於二維碼的範疇。

二維碼能存儲我們常見的任何信息,比如文字,網站,數字,名片等等。

但因為每次的信息都要長期保留,所以可以理解為每個號碼都是一次性的。

2,二維碼和數字

二維碼本質上是1.0的字符,要知道目前二維碼可容納多達1850個大寫字母或2710個數字或1108個字節,或500多個漢字。

題主說的每天上百億次應該主要指數字條碼,二維碼存儲的數字最多可達到2710位,而我們每天才用11位而已,我還專門去查了下,支付寶的支付碼是18位,微信也是18位。

3,二維碼用不完

假如按每天用百億的速度。支付寶和微信可以用3年。要是不夠了就加一位,就是30年,再加一位,就是300年,所以要是2710位下去,幾千萬年都用不完的。

綜合來說,我們的二維碼是用不完的,可能怕位數太多,但是隨著計算機CPU,GPU的發展,數字的運算也是用不完的。所以二維碼永遠用不完。


分享到:


相關文章: