二维码编码过程素材.pptx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一步:数据编码 第二步:结束码和补齐码 第三步:纠错码 第四步:最终编码 QR码编码 第一步:数据编码 Numeric Mode(数字编码) Alphanumeric mode(字符编码) Chinese Mode(中文编码) 其他 一共有40种版本,从1到40。每一种版本有4种纠错级。 数据编码示例:数字编码 编码:1-H版本中的 首先将输入的数据每三位分为一组,将每组数据转换为10位二进制数据。余下的一或两位转换为4或7位的二进制数据012 345 67 012 0000001100 345 0101011001 67 1000011 0000001100 0101011001 1000011 000000110001010110011000011 000000110001010110011000011 在数据二进制之前加上字符个数的二进制数据(这个二进制数据的个数由表三决定)。 1-H版本为10位,有8个数字字符,将0000001000添加在数据之前: 0000001000 000000110001010110011000011 0000001000 0001 最后由表二给出数字编码的标志:0001 编码完成 编码:1-H版本中的“AC-42” 1. 从字符索引表中找到 AC-42 这五个字条的索引??(10,12,41,4,2) 2. 两两分组: (10,12) (41,4) (2) 3.把每一组转成11bits的二进制: 数据编码示例:字符编码 (10,12) (45进制)-10x45+12 = 462 (10进制)-00111001110(2进制) (41,4) -41x45+4 =1849 - 11100111001 (2) -转成 000010(6位,最大44二进制位为6位) 4. 把这些二进制连接起来: 00111001110 11100111001 000010 5. 把字符的个数转成二进制 (1-H版本9 bits ):?5个字符,5转成 000000101 6. 在头上加上编码标识 0010 和第5步的个数编码: ? 0010 000000101 0011100111011100111001000010 假如我们有个“HELLO WORLD”的字符串要编码,根据上面的示例二,我们可以得到下面的编码 第二步:结束码和补齐码 加上结束符:0000 然后8bits重排: 如果所有的编码加起来不是8个倍数我们还要在后面加上足够的0,比如上面一共有78个bits,所以,我们还要加上2个0,然后按8个bits分好组:01011011 01111000011100100100110101000000 补齐码 最后,如果如果还没有达到我们最大的bits数的限制(表七),我们还要加一些补齐码(Padding Bytes),补齐码就是重复下面的两个bytes。 假设我们需要编码的是版本 1的Q纠错级,那么,其最大需要104个bits,而我们上面只有80个bits,所以,还需要补24个bits,也就是需要3个Padding Bytes,我们就添加三个,于是得到下面的编码:01011011 0111100001110010010011010100000000010001重复下面的两个bytes二维码中有四种级别的纠错,这就是为什么二维码有残缺还能扫出来,也就是为什么有人在二维码的中心位置加入图标。 第三步:纠错码 具体步骤: 首先,我们需要对数据码进行分组,也就是分成不同的组(Block),然后对各个组进行纠错编码。对于如何分组,参见《QR码编码规范》(QR Code Specification)中的表13-表22. 需要分多少块,每一块有多少个码字(8bits) 举一个5-Q版本的例子:块数为2+2=4块,头一组(c,k,r)=(33,15,9),的两个Blocks中各15个bits数据 + 2* 9个bits的纠错码。第二组同理,16+2*9=34bits 下面是一个5-Q版本的示例:二进制写起来太庞大,所以这里用十进制写。 纠错码主要通过里德-所罗门纠错算法算出来,太难,不做介绍。 首先穿插放置:把数据码和纠错码的各个码字穿插放置。规则如下: 对于数据码:把每个块的第一个码字先拿出来按顺度排列好 第四步:最终编码 然后再取第二列的

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档