国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

二維碼的生成細節和原理

發布時間:2014-1-8 08:49    發布者:1770309616
關鍵詞: 二維碼
  二維碼又稱QR Code,QR全稱Quick Response,是一個近幾年來移動設備上超流行的一種編碼方式,它比傳統的Bar Code條形碼能存更多的信息,也能表示更多的數據類型:比如:字符,數字,日文,中文等等。這兩天學習了一下二維碼圖片生成的相關細節,覺得這個玩意就是一個密碼算法,在此寫一這篇文章,揭露一下。供好學的人一同學習之。

  關于QR Code Specification,可參看下面附件的PDF:qr_code.pdf

  基礎知識

  首先,我們先說一下二維碼一共有40個尺寸。官方叫版本Version。Version1是21x21的矩陣,Version2是25x25的矩陣,Version3是29的尺寸,每增加一個version,就會增加4的尺寸,公式是:(V-1)*4+21(V是版本號)最高Version40,(40-1)*4+21=177,所以最高是177x177的正方形。

  下面我們看看一個二維碼的樣例:



  定位圖案

Position Detection Pattern是定位圖案,用于標記二維碼的矩形大小。這三個定位圖案有白邊叫Separators for Postion Detection Patterns。之所以三個而不是四個意思就是三個就可以標識一個矩形了。

Timing Patterns也是用于定位的。原因是二維碼有40種尺寸,尺寸過大了后需要有根標準線,不然掃描的時候可能會掃歪了。

Alignment Patterns只有Version 2以上(包括Version2)的二維碼需要這個東東,同樣是為了定位用的。

  功能性數據

Format Information存在于所有的尺寸中,用于存放一些格式化數據的。

Version Information在>=Version7以上,需要預留兩塊3x6的區域存放一些版本信息。

  數據碼和糾錯碼

除了上述的那些地方,剩下的地方存放Data Code數據碼和Error Correction Code糾錯碼。

  數據編碼

  我們先來說說數據編碼。QR碼支持如下的編碼:

  Numeric mode數字編碼,從0到9。如果需要編碼的數字的個數不是3的倍數,那么,最后剩下的1或2位數會被轉成4或7bits,則其它的每3位數字會被編成10,12,14bits,編成多長還要看二維碼的尺寸(下面有一個表Table3說明了這點)

  Alphanumeric mode字符編碼。包括0-9,大寫的A到Z(沒有小寫),以及符號$ % * + – . / : 包括空格。這些字符會映射成一個字符索引表。如下所示:(其中的SP是空格,Char是字符,Value是其索引值)編碼的過程是把字符兩兩分組,然后轉成下表的45進制,然后轉成11bits的二進制,如果最后有一個落單的,那就轉成6bits的二進制。而編碼模式和字符的個數需要根據不同的Version尺寸編成9,11或13個二進制(如下表中Table3)



  Byte mode,字節編碼,可以是0-255的ISO-8859-1字符。有些二維碼的掃描器可以自動檢測是否是UTF-8的編碼。

  Kanji mode這是日文編碼,也是雙字節編碼。同樣,也可以用于中文編碼。日文和漢字的編碼會減去一個值。如:在0X8140 to 0X9FFC中的字符會減去8140,在0XE040到0XEBBF中的字符要減去0XC140,然后把前兩位拿出來乘以0XC0,然后再加上后兩位,最后轉成13bit的編碼。如下圖示例:




  Extended Channel Interpretation (ECI) mode主要用于特殊的字符集。并不是所有的掃描器都支持這種編碼。

  Structured Append mode用于混合編碼,也就是說,這個二維碼中包含了多種編碼格式。

  FNC1 mode這種編碼方式主要是給一些特殊的工業或行業用的。比如GS1條形碼之類的。

  簡單起見,后面三種不會在本文中討論。

      詳細見: qr_code(122頁).pdf (841.34 KB)

本文地址:http://m.qingdxww.cn/thread-125437-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
rinllow6 發表于 2014-1-8 15:47:12
謝謝!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
wsnfine 發表于 2014-1-12 18:00:00
好文,下載了
bubifengyun 發表于 2014-1-21 13:05:13
感謝感謝,不錯。
resound 發表于 2014-8-27 09:13:52
謝謝!!!!!!!!!!!
trimine 發表于 2019-10-19 14:37:25
謝謝分享
hwzhou 發表于 2020-9-25 11:12:47
感謝!
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品成人免费综合 | jizz日| 日本va在线| 国产v视频 | 日本道在线 | 欧美日韩色黄大片在线视频 | 欧美片网站yy | 久久伊人操 | 国产伦精品一区二区三区免费 | 精品亚洲大全 | 日日射天天操 | 日本在线观看中文字幕 | 亚洲精品毛片久久久久久久 | 免费黄色在线观看 | 日本色图在线观看 | 啄木乌欧美一区二区三区 | 国内激情自拍 | 茄子黄瓜石榴香蕉草莓绿巨人 | 日韩3区| 国产精品热久久毛片 | 天堂视频在线视频观看2018 | 亚洲一区免费 | 日本不卡二区 | 日本a级精品一区二区三区 日本a级黄色 | 国产免费资源高清小视频在线观看 | 2015天堂网 | 欧美高清视频www夜色资源网 | 亚洲欧美日韩一区高清中文字幕 | 自拍中文字幕 | 亚洲免费区 | 午夜免费观看福利片一区二区三区 | 四虎在线免费观看视频 | 香蕉一区二区 | 青青草国| 国产成人精品亚洲 | 免费三级大片 | 日韩不卡在线视频 | 99在线视频精品费观看视 | 亚洲特级毛片 | 欧美第一视频 | 四虎黄色影视 |