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

二維碼轉(zhuǎn)換,在線二維碼生成器( 二 )


編碼模式我們都知道計(jì)算機(jī)只認(rèn)二進(jìn)制信息 , 所以我們需要把字符串中的數(shù)字、字母、漢字以及各種字符統(tǒng)一轉(zhuǎn)換成由0和1組成的二進(jìn)制數(shù)字串計(jì)算機(jī)才能識(shí)別 , 所以生成二維碼的過程就是將字符串轉(zhuǎn)換成二進(jìn)制數(shù)字串的過程 。最后生成的二進(jìn)制數(shù)字串對(duì)應(yīng)到二維碼上 , 0對(duì)應(yīng)白色的小方塊、1對(duì)應(yīng)黑色小方塊 , 按照8個(gè)一組依次填充到數(shù)據(jù)區(qū)就是一個(gè)完整的可以被識(shí)別的二維碼了 。
根據(jù)源字符串類型 , 二維碼主要支持4種標(biāo)準(zhǔn)化的編碼模式 , 分別為數(shù)字編碼、字符編碼、字節(jié)編碼以及日文編碼 , 當(dāng)然也支持其他一些特殊的字符集編碼以及混合編碼 。每種編碼模式對(duì)應(yīng)一個(gè)4位的二進(jìn)制的編碼模式指示符:下面以字符編碼舉個(gè)例子 , 現(xiàn)在有字符串“HELLO WORLD”1、模式指示符——根據(jù)查表可知HELLO WORLD需要使用字符編碼模式 , 所以它的模式指示符為0010 。
2、字符計(jì)數(shù)指示符——表示源字符串的長(zhǎng)度 , 字符計(jì)數(shù)指示符必須放在模式指示符之后 。字符計(jì)數(shù)指示符的計(jì)算依賴于二維碼的版本以及編碼模式:以版本1為例 , 字符編碼需要9bits , HELLO WORLD長(zhǎng)度為11 , 轉(zhuǎn)為二進(jìn)制為1011 , 不足9位 , 左邊補(bǔ)5個(gè)0得到最終結(jié)果000001011 , 加上模式指示符目前我們得到的二進(jìn)制數(shù)字串為0010 000001011 。
3、對(duì)原字符串編碼 , 將HELLO WORLD兩兩分組得到(H,E)、 (L,L)、(O, )、(W,O)、(R,L)、(D);根據(jù)索引表找到每個(gè)字符對(duì)應(yīng)的值 , 得到(17,14)、 (21,21)、(24,36)、(32,24)、(27,21)、(13);將每組數(shù)字先轉(zhuǎn)成45進(jìn)制、再將結(jié)果轉(zhuǎn)成長(zhǎng)度11的二進(jìn)制串 , 長(zhǎng)度不足的補(bǔ)0 。
例如(17,14) 轉(zhuǎn)成45進(jìn)制為17*45 14=779 , 再將779轉(zhuǎn)成二進(jìn)制 1100001011 , 左邊補(bǔ)1個(gè)0得到01100001011 , 如果最后一組是單獨(dú)一個(gè) , 則轉(zhuǎn)成6位的二進(jìn)制串 , 所以字符串HELLO WORLD經(jīng)過字符編碼之后 , 再加上前面計(jì)算好的模式指示符和字符計(jì)數(shù)指示符之后最終得到0010 000001011 01100001011 01111000110 10001011100 10110111000 10011010100 001101 。
4、 在確定二維碼的版本和糾錯(cuò)級(jí)別以后 , 字符串的編碼結(jié)果應(yīng)該是一個(gè)固定長(zhǎng)度的二進(jìn)制串 , 如果我們計(jì)算的結(jié)果長(zhǎng)度不夠就需要進(jìn)行不起操作 。例如確定二維碼的版本1和糾錯(cuò)級(jí)別Q , 則最終二進(jìn)制串的長(zhǎng)度需要達(dá)到104位 。在第3步中我們得到的最二進(jìn)制串的長(zhǎng)度為74 , 所以需要進(jìn)行補(bǔ)齊操作 。首先末尾可以至多追加4個(gè)0 , 接著末尾補(bǔ)齊更多的0直到長(zhǎng)度是8的倍數(shù) , 如追加4個(gè)0后長(zhǎng)度達(dá)到78 , 要達(dá)到8的倍數(shù)則還需要補(bǔ)2個(gè)0;如果這時(shí)候長(zhǎng)度還沒有達(dá)到目標(biāo) , 那就在末尾循環(huán)追加固定的二進(jìn)制碼11101100 00010001直到達(dá)到目標(biāo)長(zhǎng)度 。
最后來看一下HELLO WORLD經(jīng)過字符編碼之后結(jié)果掩碼圖源字符串在經(jīng)過編碼之后被轉(zhuǎn)換成二進(jìn)制的數(shù)字串 , 根據(jù)這個(gè)二進(jìn)制數(shù)字串畫出來的二維碼通常會(huì)存在黑白色塊分布不均的情況 , 這會(huì)導(dǎo)致二維碼容易掃描失敗 。為了解決這個(gè)問題 , 官方提供了8種掩碼方案:我們需要選擇一個(gè)掩碼圖與我們生成的二維碼再做一次異或操作 , 這樣黑白色塊分布就會(huì)更加的均勻 。

推薦閱讀