日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

識別二維碼的原理是什么,二維碼原理( 三 )


3、對原字符串編碼,將HELLO WORLD兩兩分組得到(H,E)、 (L,L)、(O, )、(W,O)、(R,L)、(D);根據(jù)索引表找到每個字符對應(yīng)的值,得到(17,14)、 (21,21)、(24,36)、(32,24)、(27,21)、(13);將每組數(shù)字先轉(zhuǎn)成45進(jìn)制、再將結(jié)果轉(zhuǎn)成長度11的二進(jìn)制串,長度不足的補(bǔ)0 。
例如(17,14) 轉(zhuǎn)成45進(jìn)制為17*45 14=779,再將779轉(zhuǎn)成二進(jìn)制 1100001011,左邊補(bǔ)1個0得到01100001011,如果最后一組是單獨(dú)一個,則轉(zhuǎn)成6位的二進(jìn)制串,所以字符串HELLO WORLD經(jīng)過字符編碼之后,再加上前面計算好的模式指示符和字符計數(shù)指示符之后最終得到0010 000001011 01100001011 01111000110 10001011100 10110111000 10011010100 001101 。
4、 在確定二維碼的版本和糾錯級別以后,字符串的編碼結(jié)果應(yīng)該是一個固定長度的二進(jìn)制串,如果我們計算的結(jié)果長度不夠就需要進(jìn)行不起操作 。例如確定二維碼的版本1和糾錯級別Q,則最終二進(jìn)制串的長度需要達(dá)到104位 。在第3步中我們得到的最二進(jìn)制串的長度為74,所以需要進(jìn)行補(bǔ)齊操作 。首先末尾可以至多追加4個0,接著末尾補(bǔ)齊更多的0直到長度是8的倍數(shù),如追加4個0后長度達(dá)到78,要達(dá)到8的倍數(shù)則還需要補(bǔ)2個0;如果這時候長度還沒有達(dá)到目標(biāo),那就在末尾循環(huán)追加固定的二進(jìn)制碼11101100 00010001直到達(dá)到目標(biāo)長度 。
最后來看一下HELLO WORLD經(jīng)過字符編碼之后結(jié)果掩碼圖源字符串在經(jīng)過編碼之后被轉(zhuǎn)換成二進(jìn)制的數(shù)字串,根據(jù)這個二進(jìn)制數(shù)字串畫出來的二維碼通常會存在黑白色塊分布不均的情況,這會導(dǎo)致二維碼容易掃描失敗 。為了解決這個問題,官方提供了8種掩碼方案:我們需要選擇一個掩碼圖與我們生成的二維碼再做一次異或操作,這樣黑白色塊分布就會更加的均勻 。

推薦閱讀