-
1 # 香醉忘憂
-
2 # 映象宇宙
二維碼的出現極大地方便了人們的生活,別的不說,光就我們每一天使用的二維碼支付,就大大提高了購物的速率。而我們每天使用的二維碼,每隔一段時間都是會不停地變化的,隨機進行黑白組合。仔細看二維碼你可以發現,在二維碼中有三個比較大的點,而這三個點是用來定位的,不論你是正面掃描還是傾斜掃描,或者旋轉180°掃描,都可以掃描出二維碼來。
所以說,即使地球上每天消耗上百億個二維碼,那麼等到二維碼用完,恐怕到宇宙滅亡的那一天都不可能,更不用說了,二維碼的畫素密集點還可以進一步擴充套件,而一旦進一步擴充套件的話,數量又是呈幾何爆炸式增長。所以結論是,二維碼雖然數量有限,但是根本就是用不完的,二維碼有廣泛的用途,它已經成為了生活必不可少的一部分,二維碼的容量巨大,不用擔心哪天被用完或者是不夠用。 -
3 # 鍾銘聊科學
再了解二維碼數量之前,我們先了解二維碼的原理。
二維碼的原理二維碼其實就是由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,喬布斯用它做手機的名字....”等等,看似一大堆的廢話,你再識別我的資訊時,就很難出錯了。二維碼也有一些方格,對應的是這些廢話,防止識別錯誤。其實這也是資訊學的夏農第三定理。
當機器識別出二維碼不同的排列方式之後,然後就會像我們開啟網頁一樣,每個不同的排列方式,對應著不同的“網頁”,而這個網頁被人們提前編撰過資訊,所以識別出這個“網頁”時,對應的資訊也會被識別出來。
因此,二維碼不僅能包含簡單的價格,也可以包含一個網頁,一個自我介紹,一份簡歷等等任何你想輸入進去的東西。
-
4 # 艾伯史密斯
答:二維碼數量雖然是有限的,但是多到用不完,永遠也用不完。
二維碼原理二維碼發明於1994年,相對於一維的條形碼,二維碼具有更大的容量;二維碼本質上就是一個矩陣,在常見的二維碼中,白色色塊表示“0”,黑色色塊表示“1”,經過掃描器讀取後的二維碼就成了一段特殊的程式碼,計算機從而識別出程式碼中的有效資訊。
二維碼的數量二維碼能表示的數量和二維碼自身的畫素有關,畫素越高,二維碼錶示的數量成指數增長,但是讀取二維碼和掃描器的畫素有關,在各種二維碼當中,我們常用的編碼方式是QR Code,目前該編碼方式用到最大的畫素為177*177=31329畫素,那麼理論上,該編碼方式的組合數量為:
2^(177*177)≈10^20000;
這是一個非常巨大的數值,哪怕全球人口有1000億,每人每秒鐘消耗1億個二維碼,即便從宇宙大爆炸開始至今(138億年)一直在使用,也就消耗了4.35*10^36個二維碼,遠遠低於177*177畫素的二維碼數量,更何況二維碼的畫素是可以繼續擴充套件的。
實際上,二維碼有些固定資訊以及糾錯碼,所以固定畫素的二維碼數量要低於理論值,但是數量也多到用不完,而且平常我們也用不到177*177這麼高畫素的二維碼。
生活中的二維碼平常我們用得最多的就是支付二維碼,每張二維碼裡面,其實包含了你的支付平臺、賬戶資訊、支付金額和時間等等,你換一張支付碼,其中的資料跟著變化,但是資訊所佔長度未變,時間隨時都在變化沒有終點,所以屬於你的支付碼是用不完的。
-
5 # 犍為真人
如果明白了二維碼的原理,就不會有是否會用完這樣的疑問。
手機號碼、車牌號、IP地址等,就有被用完的可能性。原因在於它們不允許重複。而類似姓名、網上暱稱、個性簽名等等,則允許重複,所以永遠也不會用完。比如現在一大堆人姓名是張偉、李子涵等。
注意:二維碼是允許重複的。
那麼為什麼現階段二維碼可以輕鬆識別?那就是因為它用到了特殊的,針對計算機(手機也是計算機)攝像頭的演算法,天生就是給計算機看的。這就好比,盲人看(摸)普通文字很費勁,他們用盲文。相反普通人看盲文又覺得是“讀天書”。
大家都知道,計算機用二進位制表示資訊。二維碼的那些黑白方塊就是二進位制。黑色代表1白色代表0。黑白必須對比清晰,然後攝像頭拍照後轉換成010101這樣的二進位制。之後用較複雜的解碼演算法轉換成文字。
演算法中最複雜的設計就是糾錯。意思是說,即使識別錯了一部分黑白塊,依然可以成功解碼。舉個人類識別的例子。比方“38”這樣的文字形式就不合理,因為容易把3錯誤判別成8。而“三八”,“叄捌”就很好。而且即使這樣的文字被遮擋一部分或很模糊,依然可以被人類辨別。這就叫“糾錯”或“容錯”。除了糾錯,二維碼還涉及到定位參考,掩碼等技術。這裡就不再展開介紹。
我們再來看看二維碼的容量到底有多大。在國內,二維碼多數用的都是QR碼。QR碼最多能表示7089個純數字,或者4276個字母(形如網址的字元),或者2953位元組的二進位制(相當於2.9KB)。還有日文中文等最多表示數就不再列出。
已經足夠多了!
而我們平常見到的二維碼,最多的就是網址,其次是純數字。比如微信掃碼支付(商家掃你),公交地鐵掃碼,共享單車掃碼,火車票實際上代表的就是一堆純數字。而關注公眾號,微信支付(你掃商家),就是一個網址。這些數字或二維碼,通常長度還不到30位。
再強調一下,二維碼多數時候僅僅就代表一串文字。比方說你掃商家的二維碼,實際上就是一個網址。這時候,你自己在微信瀏覽器中手打輸入這個網址,然後開啟,效果是一樣的(彈出一個輸入金額的畫面)。區別就是手打網址,要打半天字浪費時間,還容易輸錯。
明白了這些道理,就知道了二維碼是用不完的。一方面,二維碼允許重複。另一方面,二維碼幾千的最大容量,足夠表示日常的網址和數字編碼。
-
6 # 星辰大海路上的種花家
全球每天消耗上百億個二維碼,一旦用完了怎麼辦?
我們不清楚其他國家的生活和二維碼之間的關係,但至少在中國,二維碼已經和我們日常綁在一起,我們很難想象一個離開了二維碼的生活是什麼樣子,萬一二維碼用完了呢?
二維碼是誰發明的?二維碼種類很多,常見的有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的安全性其實我們要說的不是加密,而是包含有害資訊,因為它是隱含的資訊,因此即使包含有害資訊我們也無法看到,比如包含欺騙、誘導或者淫穢色情甚至木馬等資訊時危害是很大的,因此對於來歷不明的二維碼我們要謹慎“掃一掃”,而且手機上安全軟體不要忘了裝!
-
7 # 徐曉亞然
一些勤思好學的童鞋就開始好奇了,二維碼到底是什麼東西,是怎麼來的的?既然每一次生成的二維碼都不一樣,二維碼不會用光嗎?
掃碼已經成為一種生活習慣
要回答這個問題,首先就要搞懂二維碼到底是什麼原理才行。
二維碼的原理二維碼發明於1994年的日本,但是隻是在近些年的得到了廣泛的應用。2011年凌空網創始人徐蔚申請“二維碼掃一掃”專利,並先後拿下了中國、美國、日本和歐盟等區域的二維碼掃碼技術專利權。二維碼是一個正方形的形狀,三個角是大黑方塊,這是二維碼的位置探測區。其餘部分填充小的黑白兩色方塊,這兩種顏色的小格子相當於二進位制數字0和1。我們知道,計算機語言只能識別0和1,而0和1對我們人類可以使用的10進位制資訊或者文字資訊進行編碼。這樣電腦就可以識別資訊了。
二維碼掃一掃專利擁有者 徐蔚
二維碼中除了以上兩種主要資訊外,還有校正資訊,格式資訊,版本資訊等等。這些資訊都佔據了一定的二維碼的“儲存”量,但是對整體的資料量影響不大。這看起來像是一條網路幀資訊的格式類似。
二維碼的數量不同的二維碼個數是要看二維碼的格子的數量,舉個最簡單的例子,一個長和寬都為2個格子的四邊形,那麼它就有2^2=4個不同的二維碼圖案,當然這裡排除了其他類似於定位資訊等。
二維碼結構以此類推,還有4、8個格子的正方形等等。所以,二維碼具有格式要求,常用的微信二維碼是37*37的二維碼格子,可以得到1396個格子,去掉三個定位資訊格子後(每個定位格子相當於7×7的小格子)可以產生37x37-49x3=1222個格子,通過排列組合可以得到2^1222=7.2×10^367個不同的二維碼。
條碼資訊量遠不如二維碼
QR碼最多可以2953個位元組,每個位元組有8位(bit),總共就有2953×8 = 23624位的資料量,按照概率論知識來計算,共有2^23624=3.4×10^7111這麼多種排列組合。這個數量級是無法想象的。
甚至還出現了許多變形的二維碼,甚至都讓你察覺不到那也是二維碼。
圓形二維碼
二維碼的安全性由於二維碼取之不盡用之不竭,“閱後即焚”的特有屬性,人們在日常使用過程中不擔心它的安全性。但是還是時常發現通過二維碼洩露個人隱私和盜取他人微信賬號的事件。中國目前使用的二維碼大部分來自於日本的QR碼,美歐日在二維碼的應用領域還保持在領先地位。目前中國使用的二維碼中:美日二維碼佔到了80%多,主要的中國產二維碼制漢信碼、龍貝碼、GM碼、CM碼等加起來還不到5%。
總結綜上所述,不必擔心二維碼的數量不夠用。作為二維碼的應用大國,二維碼的安全應用以及中國產二維碼的開發才是重中之重。
-
8 # IT小眾
這個不應成為我們擔心的問題。一方面二維碼多到我們根本用不完;其次即便二維碼真的用完了,也會有新的替代解決方案。就好比IPV4在未來會被IPV6取代一般。
二維碼在生活中隨處可見了,但可能大多數人對它的印象就只有“黑白相間”。二維碼有40個規格,分別對應Version 1 - Version 40。Version 1是21*21的矩陣規格,而每提升一個規格就寬高等差增加4尺寸,Version 2是25*25,依次類推。那Version 40就是177*177的了。
那40個規格的言外之意就是二維碼面積不同,隨著矩陣尺寸的增大也表示二維碼所容納的資訊量會越大。
可能這樣說你沒什麼概念。就以Version 40來說,一個二維碼最大的資料容量不會超過3KB,如果是在儘可能少的冗餘糾錯大概就是最多2953個位元組,也就是2953*8=23624位。
把它們想象成一個方格,在二進位制下就是0和1的排列組合了。那也就意味著Version 40所包含的排列組合就是2的23624次方了。
一張0.1毫米的紙理論上對摺103次,也就是2的103次方就可達930億光年的直徑。試想2的23624次方這得是多大的天文數字了。這數字有多恐怖?它比我們目前觀測到宇宙的原子、光子數量還要多。
所以到了這裡我想你已經有了答案了吧。二維碼理論上可以用完,但實際應用卻用不完。
目前來說二維碼被廣泛應用賬戶登入、應用下載、分享共享、廣告推送等等方面。這除了其本身製作簡易和成本低之外,另外就是跟它的資訊容量大、高密度編碼所密和容錯能力強等特性密不可分了。不過也正是二維碼應用過於廣泛了,也難免會被一些不良之人利用。通常他們會通過二維碼掃描誘導使用者點選有可能存在安全隱患的連結等。
回覆列表
這個問得太不專業了,能否用完我不清楚,但是有個叫"協議"的東西你沒有弄清楚。二維碼怎麼使用只跟對應的APP所定義的內部協議有關。打個比較極限的比方。比如某一個二維碼掃出來的是二進位制類容“110”。用某服務APP掃出來,可能指的是110報警電話。用某公交APP掃描,顯示的是110路公車的資訊,支付寶掃描出來的意思是付款110塊,微信掃描出來的意思是收款110塊,等等,這都是可以的。所以掃描出來的二維碼的內容該怎麼用,由掃描的APP裡面的程式程式碼決定怎麼使用(即APP自己定義的內部協議規定)。
再打個淺顯的比方,同樣是21路公車,北京的21路,和上海的21路公車,能一樣麼?有衝突麼?顯然沒有。同樣是21路,該怎麼用,由各地決定,互不衝突。
因此,就算用完了 ,出現重複,也不影響使用,只要是同一使用協議內不重複就沒有關係。