回覆列表
  • 1 # 老趙3931

    重複的肯定會有,只是是時間問題和機率問題!!而且能生成的二維碼又沒有數量限制,大不了就是越來越複雜,就像密碼鎖,三位的密碼鎖很容易套出來!10位數的密碼鎖也能套出來,那就複雜多了,但也是時間問題了,畢竟只要是10位數以內!!但二維碼生成無窮無盡

  • 2 # 不努力未來永遠只是個夢8

    二維碼包含了url資訊,就算有一天域名用完了,二維碼都用不完。假設二維碼有n個畫素點,那麼可以有2^n個二維碼(實際上達不到,因為二維碼擔心模糊導致部分畫素位點缺失,所以經過一些演算法與結構調整,讓我們只掃3/4的二維碼也可以掃出來),而二維碼有多少畫素點,嘻嘻,不同格式答案不同,PDF417格式可以容納2710個數字,你數數該用什麼單位,就算某天不能用了,我們還可以定義更大的標準。一句話,可以用到地球不轉。

  • 3 # 程式設計老大叔

    大叔從二進位制原理的角度來回答這個問題。

    下面就仔細講講這個答案的由來

    二維碼的基本概念

    通常我們口中的二維碼一般是指QR Code,也就是支付寶、微信支付、火車票等通用的二維碼格式。但是,二維碼的格式可以說多種多樣,包括Data Matrix、QR Code、PDF417、Vericode、Ultracode等,不同的二維碼制式,在不同的領域有著不同的應用。

    QR Code是一種編碼方式,它比傳統的 Bar Code 條形碼能存更多的資訊,也能表示更多的資料型別:比如:字元,數字,日文,中文等等。

    二維碼在一維條形碼的基礎上,將多個條形碼堆積在一起進行編碼。我們產用的矩陣式二維碼是指在一個矩陣空間中透過黑色和白色的方塊進行資訊的表示,黑色的方塊表示1,白色的方塊表示0,相應的組合表示了一系列的資訊,常見的編碼標準有QR 碼,在中國非常常用。

    二維碼編碼原理

    那麼二維碼到底是透過什麼魔力,將人類可以識別的內容(比如中文、網址等)轉為機器能識別的二維碼呢?前面講到的基本概念中提到二維碼中,黑色的方塊表示1,白色的方塊表示0。也就是計算機程式設計領域講的二進位制。我們首先來看人類日常使用的語言是怎麼轉換為二進位制的(關於這個我有寫一篇關於計算機編碼的文章,有興趣的朋友可以翻看)。先看我從文章中拉出來的兩張圖:

    英文字元如何轉換為二進位制儲存

    漢字字元如何轉換為二進位制儲存

    從上面兩個圖可以看到,人類可識別的字元都是透過一種字符集(ASII、Unicode)將字元對映成十進位制數字,然後透過二進位制轉換為二進位制。同樣,二維碼可以根據自己定義的編碼規則和字符集,將這些字元轉換為二進位制,並且利用黑白方塊來儲存二進位制;

    二維碼的容量與數量

    首先,二維碼一共有 40 種尺寸。官方叫法為版本 Version。Version 1 是 21 x 21 的矩陣,Version 2 是 25 x 25 的矩陣,Version 3 是 29 的尺寸,每增加一個 version,就會增加 4 的尺寸,公式是:(V-1)*4 + 21(V是版本號) 最高 Version 40,(40-1)*4+21 = 177,所以最高是 177 x 177 的正方形。也就是177*177個黑/白方塊,一個方塊可以表示一個0或者1;

    理論上Version 40,在內容經過壓縮處理後可以存7089個數字,那麼0~9組合就有10^7089種可能的組合;4296 個字母和數字混合字元,那麼就有1.27^(4296+2)種組合; 2953個8位位元組資料,1817個漢字,那麼就有10^(1817+5)種組合;

    分版本:

    Version 1 :有21*21個黑白方塊,那麼就是2^(21*21)個,轉化成科學計數法就是5.7e+132個;

    Version 40:有177*177個黑白方塊,那麼就是2^(177*177)個,轉化成科學計數法就是9.3e+9430個;

    就按題目描述,全球每年消耗二維碼上百億,這裡面我暫且認為全部是不同的二維碼,也即是活碼,其實這裡面應該是有很多是固定的,就是所謂的靜態碼。全部按活碼計算,各種可能的組合也達不到現有二維碼的總數,所以二維碼數量有限,並且可計算,但按現有技術是用不完的;

  • 中秋節和大豐收的關聯?
  • 男生夏秋交際如何日常穿搭,才能顯得清新幹淨又時尚帥氣?