回覆列表
  • 1 # 指頭間的時光

    首先,我們先說一下二維碼一共有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 的正方形。

    定點陣圖案

    Position Detection Pattern是定點陣圖案,用於標記二維碼的矩形大小。這三個定點陣圖案有白邊叫Separators for Postion Detection Patterns。之所以三個而不是四個意思就是三個就可以標識一個矩形了。Timing Patterns也是用於定位的。原因是二維碼有40種尺寸,尺寸過大了後需要有根標準線,不然掃描的時候可能會掃歪了。Alignment Patterns 只有Version 2以上(包括Version2)的二維碼需要這個東東,同樣是為了定位用的。

    功能性資料

    Format Information 存在於所有的尺寸中,用於存放一些格式化資料的。Version Information 在 >= Version 7以上,需要預留兩塊3 x 6的區域存放一些版本資訊。

    資料碼和糾錯碼

    根據二維碼原理(太複雜不細說),可容納多達1850個大寫字母或2710個數字或1108個位元組,或500多個漢字,比普通條碼資訊容量約高几十倍。假設都是按大寫字母來,那麼1850長度的字元組合是26的1850次方(反正我是自己打不出來的)

    二維碼的好處在於組合多、複雜,不管是靜態還是動態二維碼都有機率重複,但是重複的機率特別特別小,幾乎可以忽略為零,雖然靜態相比動態更有機率重複,但是重複率都可以忽略不計。那麼有人會說,不怕一萬就怕萬一重複了怎麼辦。其實重複也不怕,為什麼?首先我們掃二維碼時,實際手機APP只是透過二維碼獲取到圖片上的資訊(一段字串),然後再拿到APP裡識別對應的功能(比如跳轉、加好友、付款等)

  • 中秋節和大豐收的關聯?
  • 為什麼勇迷說伊戈達拉不受傷就能橫掃火箭呢?難道勇士首發四個全明星只能靠一哥嗎?