




免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
qr碼生成原理(一)一、什么是qr碼qr碼屬于矩陣式二維碼中的一個(gè)種類,由denso(日本電裝)公司開(kāi)發(fā),由jis和iso將其標(biāo)準(zhǔn)化。qr碼的樣子其實(shí)在很多場(chǎng)合已經(jīng)能夠被看到了,我這還是貼個(gè)圖展示一下:這個(gè)圖如果被正確解碼,應(yīng)該看到我的名字和郵箱。二、qr碼的特點(diǎn)說(shuō)到qr碼的特點(diǎn),一是高速讀取(qr就是取自“quick response”的首字母),對(duì)讀取速度的體驗(yàn)源自于我手機(jī)上的一個(gè)軟件,象上面貼出的碼圖,通過(guò)攝像頭從拍攝到解碼到顯示內(nèi)容也就三秒左右,對(duì)攝像的角度也沒(méi)有什么要求;二是高容量、高密度;理論上內(nèi)容經(jīng)過(guò)壓縮處理后可以存7089個(gè)數(shù)字,4296 個(gè)字母和數(shù)字混合字符,2953個(gè)8位字節(jié)數(shù)據(jù),1817個(gè)漢字;三是支持糾錯(cuò)處理;糾錯(cuò)處理相對(duì)復(fù)雜,目前我還沒(méi)有深入了解,按照qr碼的標(biāo)準(zhǔn)文檔說(shuō)明,qr碼的糾錯(cuò)分為4個(gè)級(jí)別,分別是: level l : 最大 7% 的錯(cuò)誤能夠被糾正; level m : 最大 15% 的錯(cuò)誤能夠被糾正; level q : 最大 25% 的錯(cuò)誤能夠被糾正; level h : 最大 30% 的錯(cuò)誤能夠被糾正;四是結(jié)構(gòu)化;看似無(wú)規(guī)則的圖形,其實(shí)對(duì)區(qū)域有嚴(yán)格的定義,下圖就是一個(gè)模式2、版本1的qr圖結(jié)構(gòu)(關(guān)于qr碼的模式、版本將在后面進(jìn)行介紹):在上圖21*21的矩陣中,黑白的區(qū)域在qr碼規(guī)范中被指定為固定的位置,稱為尋像圖形(finder pattern) 和 定位圖形(timing pattern)。尋像圖形和定位圖形用來(lái)幫助解碼程序確定圖形中具體符號(hào)的坐標(biāo)。黃色的區(qū)域用來(lái)保存被編碼的數(shù)據(jù)內(nèi)容以及糾錯(cuò)信息碼。藍(lán)色的區(qū)域,用來(lái)標(biāo)識(shí)糾錯(cuò)的級(jí)別(也就是level l到level h)和所謂的mask pattern,這個(gè)區(qū)域被稱為“格式化信息”(format information)。五是擴(kuò)展能力。qr碼的structure append特點(diǎn),使一個(gè)qr碼可以分解成多個(gè)qr碼,反之,也可以將多個(gè)qr碼的數(shù)據(jù)組合到一個(gè)qr碼中來(lái)。 三、qr碼的模式和版本前面提到過(guò)qr碼的模式(model)和版本(version)。qr碼分為model1和model2兩種模式,model1是對(duì)qr的初始定義,model2是對(duì)model1的擴(kuò)展,目前使用較為普遍的是model2,本文的所有說(shuō)明也僅用于model2。qr圖的大小(size)被定義為版本(version),版本號(hào)從1到40。版本1就是一個(gè)21*21的矩陣,每增加一個(gè)版本號(hào),矩陣的大小就增 加4個(gè)模塊(module),因此,版本40就是一個(gè)177*177的矩陣。(版本越高,意味著存儲(chǔ)的內(nèi)容越多,糾錯(cuò)能力也越強(qiáng))。三、qr碼支持的編碼內(nèi)容qr碼支持編碼的內(nèi)容包括純數(shù)字、數(shù)字和字符混合編碼、8位字節(jié)碼和包含漢字在內(nèi)的多字節(jié)字符。其中:數(shù)字:每三個(gè)為一組壓縮成10bit。字母數(shù)字混合:每?jī)蓚€(gè)為一組,壓縮成11bit。 8bit字節(jié)數(shù)據(jù):無(wú)壓縮直接保存。多字節(jié)字符:每一個(gè)字符被壓縮成13bit。qr碼編碼原理二(編碼)編碼就是把常見(jiàn)的數(shù)字、字符等轉(zhuǎn)換成qr碼的方法。說(shuō)具體的編碼之前,先說(shuō)一下qr碼的最大容量問(wèn)題。一、最大容量qr碼的最大容量取決于選擇的版本、糾錯(cuò)級(jí)別和編碼模式(mode:數(shù)字、字符、多字節(jié)字符等)。以版本1、糾錯(cuò)級(jí)別為level q的qr碼為例,可以存儲(chǔ)27個(gè)純數(shù)字,或17個(gè)字母數(shù)字混合字符或11個(gè)8bit字節(jié)數(shù)據(jù)。如果要存儲(chǔ)同樣多的內(nèi)容同時(shí)提高糾錯(cuò)級(jí)別,則需要采用更高的 版本。版本19 數(shù)據(jù)容量、糾錯(cuò)碼容量對(duì)照如下表:(version)(error correcting level)(count of data code words)count of ec code words(numeric)(alphanumeric)8bit1l197412517m1610342014q1313271611h917171072l3410774732m2816633826q2222482920h16283420143l55151277753m44261016142q3436774732h26445835244l802018711478m64361499062q48521116746h36648250345l10826255154106m864820212284q62721448760h468810664446l13636322195134m10864255154106q769617510874h6011213984587l15640370224154m12472293178122q8810820712586h6613015493648l19448461279192m15488365221152q110132259157108h86156202122849l23260552335230m182110432262180q132160312189130h10019223514398如果要了解更詳細(xì)的qr碼容量信息,可以到電裝的網(wǎng)站去看看/qrcode/vertable1-e.html。 下面,就舉例說(shuō)明將“abcde123”轉(zhuǎn)換成為版本1、level h的qr碼轉(zhuǎn)換方法。二、模式標(biāo)識(shí)符(mode indicator)qr碼的模式(mode)就是前文提到的數(shù)字、字符、8bit 字節(jié)碼、多字節(jié)碼等。對(duì)于不同的模式,都有對(duì)應(yīng)的模式標(biāo)識(shí)符(mode indicator)來(lái)幫助解碼程序進(jìn)行匹配,模式標(biāo)識(shí)符是4bit的二進(jìn)制數(shù):1、數(shù)字模式(numeric mode ): 00012、混合字符模式(alphanumeric mode) : 00103、8bit byte mode: 01004、日本漢字(kanji mode) : 10005、中國(guó)漢字(gb2312):1101由于示例文本串是混合字符,因此將選擇alphanumeric mode,其標(biāo)識(shí)碼為:0010三、文本串計(jì)數(shù)標(biāo)識(shí)符(character count indicator)文本串計(jì)數(shù)標(biāo)識(shí)符用來(lái)存儲(chǔ)源內(nèi)容字符串的長(zhǎng)度,在版本1-9的qr碼中,文本串長(zhǎng)度標(biāo)識(shí)符自身的長(zhǎng)度被定義為:數(shù)字 : 10bit 混合字符 : 9bit8bit 字節(jié)碼 : 8bit多字節(jié)碼 : 8bit在本例中,源文本串的長(zhǎng)度為8個(gè)字符,混合字符的長(zhǎng)度為9bit,因此將字符個(gè)數(shù)8編碼為9位二進(jìn)制表示:000001000加上混合字符模式標(biāo)識(shí)碼,總的編碼為0010 000001000四、數(shù)據(jù)內(nèi)容編碼 1、數(shù)字模式下的編碼在數(shù)字模式下,數(shù)據(jù)被限制為3個(gè)數(shù)字一段,分成若干段。如:123456 將分成123 和 456,分別被編碼成10bit的二進(jìn)制數(shù)?!?23”的10bit二進(jìn)制表示法為:0001111011,實(shí)際上就是二進(jìn)制的123。當(dāng)數(shù)據(jù)的長(zhǎng)度不足3個(gè)數(shù)字時(shí),如果只有1個(gè)數(shù)字則用4bit,如果有2個(gè)數(shù)字就用7個(gè)bit來(lái)表示。如:9876被分成987和6兩段,因此被表示為1111011011 0110。2、混合字符模式下的編碼混合字符模式編碼,其字符對(duì)照表如下:0 0 a 10 k 20 u 30 + 40 11 b11 l21 v31 -4122 c12 m22 w32 .4233 d13 n23 x33 /4344 e14 o24 y34 :4455 f15 p25 z3566 g16 q26 sp3677 h17 r27 $3788 i18 s28 %3899 j19 t29 *3 編碼方式為:源碼被分成兩個(gè)字符一段,如下所示,每段的第一個(gè)字符乘上45,再用第二個(gè)數(shù)字相加。因此每段變成了11bit的2進(jìn)制碼,如果字符個(gè)數(shù)只有1個(gè),則用6bit表示。 示例: abcde123 45*10+1145*12+1345*14+145*2+3 461553631930010000001000001110011010100010100101001110111000010111013、8bit字節(jié)數(shù)據(jù)不經(jīng)編碼轉(zhuǎn)換直接保存。五、編碼終止符(terminator)如果編碼后的字符長(zhǎng)度不足當(dāng)前版本和糾錯(cuò)級(jí)別所存儲(chǔ)的容量,則在后續(xù)補(bǔ)0000,如果容量已滿則無(wú)需添加終止符。此時(shí)得到的編碼串為:0010 000001000 00111001101 01000101001 01001110111 00001011101 0000六、編成8bit碼字(code words)將以上的編碼再按8bit一組,形成碼字(code words): 00100000 01000001 11001101 01000101 00101001 11011100 00101110 10000如果尾部數(shù)據(jù)不足8bit,則在尾部充0:00100000 01000001 11001101 01000101 00101001 11011100 00101110 10000000如果編碼后的數(shù)據(jù)不足版本及糾錯(cuò)級(jí)別的最大容量,則在尾部補(bǔ)充 11101100 和 00010001,直到全部填滿。最后,版本1、level h下的abcde123 的qr碼是:00100000 01000001 11001101 01000101 00101001 11011100 00101110 10000000 11101100十進(jìn)制表示法為:32 65 205 69 41 220 46 128 236qr碼編碼原理三(日本漢字和中文編碼)一、日本漢字(kanji)是兩個(gè)字節(jié)表示的字符碼,編碼的方式是將其轉(zhuǎn)換為13字節(jié)的二進(jìn)制碼制。轉(zhuǎn)換步驟為:1、對(duì)于jis值為8140(hex) 到9ffc(hex)之間字符:a)將待轉(zhuǎn)換的jis值減去8140(hex);b)將高位字節(jié)乘以c0(hex);c)將b)步驟生成的數(shù)據(jù)加上低位字節(jié);d)將結(jié)果轉(zhuǎn)換為13位二進(jìn)制串。2、對(duì)于jis值為e040(hex)到ebbf(hex)之間的字符:a)將待轉(zhuǎn)換的jis值減去c140(hex);b)將高位字節(jié)乘以c0(hex);c)將b)步驟生成的數(shù)據(jù)加上低位字節(jié);d)將結(jié)果轉(zhuǎn)換為13位二進(jìn)制串。 二、中文漢字的與日文漢字轉(zhuǎn)換步驟相似:1、對(duì)于第
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 慢性疼痛管理中的運(yùn)動(dòng)療法應(yīng)用研究
- 優(yōu)化家居電商關(guān)懷
- 老舊供水管網(wǎng)更新改造工程項(xiàng)目總體規(guī)劃
- 編程語(yǔ)言探秘之旅
- 鍋爐維修協(xié)議書(shū)
- 2025年救護(hù)車項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 《2025工程建設(shè)項(xiàng)目合同補(bǔ)充協(xié)議》
- 家風(fēng)家訓(xùn)主題班會(huì)課件
- 2025年酒及飲料加工機(jī)械項(xiàng)目提案報(bào)告模范
- 2025至2030年中國(guó)彈簧式安全閥行業(yè)投資前景及策略咨詢報(bào)告
- 白內(nèi)障后發(fā)障激光治療
- 新疆2024年中考數(shù)學(xué)試卷(含答案)
- 內(nèi)部控制六大業(yè)務(wù)流程及管控
- 跨學(xué)科主題學(xué)習(xí)的思考與策略
- 既有線換枕施工方案
- 西方經(jīng)濟(jì)學(xué)章節(jié)練習(xí)題題庫(kù)及答案1-16章
- TCAPC 011-2024 零售藥店經(jīng)營(yíng)自體嵌合抗原受體T細(xì)胞(CAR-T)治療藥品服務(wù)規(guī)范
- 小學(xué)數(shù)學(xué)五年級(jí)下同《折線統(tǒng)計(jì)圖》教學(xué)實(shí)錄
- 關(guān)于施工單位對(duì)于現(xiàn)場(chǎng)計(jì)劃、統(tǒng)計(jì)和信息管理的措施
- 2024至2030年中國(guó)叉車出租行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資戰(zhàn)略規(guī)劃報(bào)告
- 2024年?yáng)|南亞飼料級(jí)左旋肉堿市場(chǎng)深度研究及預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論