經(jīng)驗(yàn)教程|2022/9/26|43800 views二維碼是如何生成的?FC火貓網(wǎng)絡(luò)官方發(fā)布 · 認(rèn)證作者不知道從什么時(shí)候開(kāi)始,我們的生活突然之間就充滿了二維碼——看網(wǎng)頁(yè)要掃二維碼,加好友要掃二維碼,現(xiàn)在連樓下賣草莓的大爺都支持掃碼支付了。那么你有沒(méi)有想過(guò),這個(gè)長(zhǎng)得很奇怪的東西,到底是怎么來(lái)的? ?基于一維的變成二維信息。二維碼上每個(gè)小矩形的分別代表二進(jìn)制的0與1,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的形狀表示文字?jǐn)?shù)值。當(dāng)我們用攝像機(jī)掃描二維碼時(shí),軟件會(huì)使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來(lái)表示文字?jǐn)?shù)值信息,通過(guò)圖象輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理。同時(shí)還具有對(duì)不同行的信息自動(dòng)識(shí)別功能及處理圖形旋轉(zhuǎn)變化等特點(diǎn)。第一步:數(shù)據(jù)分析二維碼編碼一串文本。 二維碼標(biāo)準(zhǔn)有四種編碼模式:數(shù)字,字符,字節(jié)和日文。每種編碼模式將文本編碼為一串二進(jìn)制數(shù)字(1和0),但每個(gè)模式使用不同的方法將文本轉(zhuǎn)換為二進(jìn)制數(shù)字,并且每個(gè)編碼模式使用盡可能最短的一串二進(jìn)制數(shù)字來(lái)編碼數(shù)據(jù)。因此,第一步應(yīng)該是進(jìn)行數(shù)據(jù)分析,以確定該文本是否可以符合數(shù)字,字母,字節(jié)或日文模式的編碼,然后選擇最優(yōu)化的編碼模式。第二步:數(shù)據(jù)編碼當(dāng)你為需要編碼的文本選擇了合適的編碼模式,下一步是對(duì)該文本進(jìn)行編碼。此步驟的結(jié)果若干組8位長(zhǎng)的數(shù)據(jù)碼。第三步:生成糾錯(cuò)碼二維碼掃描器讀取數(shù)據(jù)碼和糾錯(cuò)碼。通過(guò)比較兩種碼字,掃描儀可以確定是否正確地讀取了數(shù)據(jù),如果它沒(méi)有正確地讀取數(shù)據(jù),則可以利用糾錯(cuò)碼糾正數(shù)據(jù)碼的錯(cuò)誤。第四步:最終編碼前面步驟生成的數(shù)據(jù)碼和糾錯(cuò)碼必須以一定的順序排列。對(duì)于大尺寸的二維碼,數(shù)據(jù)碼和糾錯(cuò)碼必須分塊排列,這些塊必須依據(jù)二維碼的規(guī)格說(shuō)明交錯(cuò)排列。第五步:模塊放置在矩陣前面產(chǎn)生數(shù)據(jù)碼和糾錯(cuò)碼在正確的順序排列它們之后,必須將這些二進(jìn)制數(shù)字以特定的方式放置在二維碼矩陣中。第六步:掩碼圖案二維碼掃描器有時(shí)很難正確讀取特定模式的碼字。針對(duì)這種情況,二維碼規(guī)范中定義了八個(gè)掩碼圖案,每種特定的圖案都可以改變?cè)嫉亩S碼圖案。第七步:格式和版本信息最后一步是在先前步驟留下空白的特定區(qū)域中增加格式和(如有必要)的版本信息。格式信息定義了糾錯(cuò)等級(jí)和掩碼圖案的模式。版本信息定義了二維碼矩陣的大小和并且僅存在于較大的二維碼中。