二維碼就這么大一點(diǎn),每個(gè)格還只能是非黑即白,那它會(huì)不會(huì)被用掉所有排列組合呢 答案是會(huì),但是卻不會(huì),嗯,沒(méi)錯(cuò) 細(xì)心觀察會(huì)發(fā)現(xiàn),不同地方二維碼橫豎格數(shù)是不一定相同的(二維碼目前共有40種規(guī)格,最少21x21,一規(guī)格橫豎各加四個(gè)格子,最多加39次既177x177),以微信名片舉例,二維碼是橫豎各37個(gè)格的正方形,其中三個(gè)角有固定的7x7的定位點(diǎn),所以可用可以變換的點(diǎn)共有37x37-49x3=1222個(gè)格子,而每個(gè)格子只可能是黑或白兩種情況(電腦二進(jìn)制的0和1),所以共有2^1222種排列組合情況,既理論上可以出現(xiàn)這些個(gè)不同的二維碼(有全黑全白還有的中間會(huì)放商標(biāo)等圖形占位置等情況可能出現(xiàn)所以是理論上),2^1222的結(jié)果為 emmm~顯示不下出錯(cuò)了 不慌,用電腦算, 簡(jiǎn)單點(diǎn),2^1000出來(lái)是: 科學(xué)計(jì)數(shù)法:1.0715086071863 * 10^301 具體數(shù)字為:10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376 根據(jù)美國(guó)人口調(diào)查局的估計(jì),截至到2013年1月4日,全世界有70.57億人,現(xiàn)在則會(huì)更多,算世界上共一百億人,平均每個(gè)人能分10^292個(gè)二維碼用還有大量剩余,比全宇宙中的粒子數(shù)3.28×10^80還要多的多,所以說(shuō),二維碼雖然是有限的,能用完。 但就算不考慮未來(lái)的新技術(shù),算的時(shí)候還為簡(jiǎn)而少算的,不同規(guī)格的二維碼還不重復(fù)又是急劇擴(kuò)大了可能情況數(shù),單單現(xiàn)在的個(gè)數(shù)就是有限也太多了,多到根本用不完。而且決定二維碼格數(shù)上限的是手機(jī)像素,目前最高可識(shí)別就能達(dá)到4000x4000+,而現(xiàn)在的二維碼最多也就144x144,且只有40個(gè)規(guī)格,這提升空間之大,再以后沒(méi)準(zhǔn)能用一張二維碼存?zhèn)€電影,光盤(pán)變紙張(這個(gè)想過(guò)頭了,目前的二維碼存1M都是大的了)…… 當(dāng)然這只是理論數(shù)值,而實(shí)際上二維碼并不只是個(gè)圖形而已,而是有特定意義的,這其中有大部分是雖然有排列情況但沒(méi)有意義(最明顯的,全黑,全白,還有很多是無(wú)法準(zhǔn)確表示人可能希望表示的任何情況,所以用不了),但除去這剩下的也夠多了。而既然二維碼是有特定意義的,那么反過(guò)來(lái)從另一個(gè)角度來(lái)看,每一個(gè)目的每一個(gè)要它表達(dá)的值都是不同的,都會(huì)形成一條特定編碼,所以這樣看二維碼仍是無(wú)限的。而且無(wú)意義的二維碼也可以人工賦予它人所希望的意義。 還有,那……條形碼不夠用的嗎 然而并不是主要的,而是因?yàn)槎S碼能儲(chǔ)存一維碼不能存的漢字、圖片等信息,以及二維碼相對(duì)于條形碼更能容錯(cuò)(不信可以找一個(gè)二維碼,然后蓋住一部分,再掃它,看看是不是并不影響掃描,有時(shí)蓋一半都能正常掃,原因是一般都用上了rs碼四級(jí)糾錯(cuò)),還有能加入保密措施,更安全,還有出錯(cuò)率低(掃二維碼還會(huì)出錯(cuò)?嗯,只是出錯(cuò)率太低,如果掃錯(cuò)了,趕緊馬上立刻,去買(mǎi)彩…不對(duì),買(mǎi)啥彩票,去抽波十連),還有尺寸大小可按比例隨意變(條形碼就只能在固定范圍內(nèi)細(xì)微變化,不然就掃不準(zhǔn),附,條形碼的標(biāo)準(zhǔn)尺寸是37.29mm x 26.26mm,放大倍率是0.8-2.0 還有還有,生成二維碼會(huì)不會(huì)生成重復(fù)的,就比如馬云的支付寶轉(zhuǎn)賬二維碼和我的碰巧生成了一樣的,然后……并不會(huì),二維碼上的黑白點(diǎn)排列并不是隨機(jī)無(wú)意義的,而是原始二進(jìn)制代碼,代表某一個(gè)意義,而不同的人的二維碼要它表示的意義讓它代表的事是不同的,所以不會(huì)有重復(fù)的。 異想天開(kāi)一波,我畫(huà)一個(gè),如果只是隨便畫(huà)一個(gè),還真的有可能能掃出來(lái),雖然更大幾率是畫(huà)出掃不出的無(wú)意義的二維碼,但掃出來(lái)干嘛,給不認(rèn)識(shí)的不知道誰(shuí)轉(zhuǎn)錢(qián)么…… 為何電子設(shè)備中的二維碼是隨時(shí)變化的,支付寶->付錢(qián)(生成一個(gè)二維碼)->返回(那個(gè)二維碼幾分鐘后失效,時(shí)間不固定)->付錢(qián)(生成一個(gè)新的二維碼),既然二維碼是特定意義,那表示“加我好友”或者“關(guān)注我”的代碼不應(yīng)該是固定的嗎?也不是,現(xiàn)實(shí)中的特定意義在網(wǎng)絡(luò)數(shù)據(jù)中卻不是不變的,支付寶付款碼是“活碼”,活碼本身不是存儲(chǔ)的這個(gè)目的的碼,而是對(duì)一個(gè)分配的短網(wǎng)址進(jìn)行編碼,掃描后跳轉(zhuǎn)到這個(gè)網(wǎng)址。這樣將內(nèi)容存儲(chǔ)在云端,可以隨時(shí)更新、可跟蹤掃描統(tǒng)計(jì),可存放圖片視頻、大量文字內(nèi)容,同時(shí)圖案簡(jiǎn)單易掃。 缺點(diǎn)是掃描時(shí)必須聯(lián)網(wǎng)。而不變的是靜態(tài)碼,是直接對(duì)電話、地址、網(wǎng)址等信息進(jìn)行編碼(一般最多50個(gè)文字), 所以無(wú)需聯(lián)網(wǎng)也能掃描顯示,缺點(diǎn)是生成的二維碼圖案非常復(fù)雜,不容易識(shí)別和打印,容錯(cuò)率低,而且印刷后內(nèi)容無(wú)法變更,無(wú)法存儲(chǔ)圖片和文件 |
|
來(lái)自: 好漢勃士 > 《待分類(lèi)》