手机淘宝二维码的生成和使用方法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2019年手机淘宝二维码的生成和使用方法    篇一:二维码的生成细节和原理 ?    二维码一共有40个尺寸。公式:(V-1)*4+21(V是版本号)最高是40。 ?    定位图案,用于标记二维码的矩形大小。 ?    剩下的地方存放 ?    DataCode数据码和ErrorCorrectionCode纠错码。 ?    数据编码 ?    我们先来说说数据编码。QR码支持如下的编码: ?    Numericmode数字编码,从0到9。如果需要编码的数字的个数不是3的倍数,那么,最后剩下的1或2位数会被转成4或7bits,则其它的每3位数字会被编成10,12,14bits,编成多长还要看二维码的尺寸(下面有一个表Table3说明了这点) ?    Alphanumericmode字符编码。包括0-9,大写的A到Z(没有小写),以及符号$%*+–./:包括空格。这些字符会映射成一个字符索引表。如下所示:(其中的SP是空格,Char是字符,Value是其索引值)编码的过程是把字符两两分组,然后转成下表的45进制,然后转成11bits的二进制,如果最后有一个落单的,那就转成6bits的二进制。而编码模式和字符的个数需要根据不同的Version尺寸编成9,11或13个二进制(如下表中Table3) ?    Bytemode,字节编码,可以是0-255的ISO-8859-1字符。有些二维码的扫描器可以自动检测是否是UTF-8的编码。 ?    Kanjimode这是日文编码,也是双字节编码。同样,也可以用于中文编码。日文和汉字的编码会减去一个值。如:在0X8140to0X9FFC中的字符会减去 ?    8140,在0XE040到0XEBBF中的字符要减去0XC140,然后把前两位拿出来乘以0XC0,然后再加上后两位,最后转成13bit的编码。如下图示例: ?    ExtendedChannelInterpretation(ECI)mode主要用于特殊的字符集。并不是所有的扫描器都支持这种编码。 ?    StructuredAppendmode用于混合编码,也就是说,这个二维码中包含了多种编码格式。 ?    FNC1mode这种编码方式主要是给一些特殊的工业或行业用的。比如GS1条形码之类的。简单起见,后面三种不会在本文中讨论。 ?    下面两张表中, ?    ?Table2是各个编码格式的“编号”,这个东西要写在FormatInformation中。注: ?    中文是1101 ?    ?Table3表示了,不同版本(尺寸)的二维码,对于,数字,字符,字节和Kanji模 ?    式下,对于单个编码的2进制的位数。(在二维码的规格说明书中,有各种各样的编码规范表,后面还会提到) ?    下面我们看几个示例, ?    示例一:数字编码 ?    在Version1的尺寸下,纠错级别为H的情况下,编码 ?    1.把上述数字分成三组 ?    2.把他们转成二进制:012转成0000001100;345转成0101011001;67转成 ?    1000011。 ?    3.把这三个二进制串起来:000000110001010110011000011 ?    4.把数字的个数转成二进制(version1-H是10bits):8个数字的二进制是 ?    0000001000 ?    5.把数字编码的标志0001和第4步的编码加到前面:000100000010000000001100 ?    01010110011000011 ?    示例二:字符编码 ?    在Version1的尺寸下,纠错级别为H的情况下,编码:AC-42 ?    1.从字符索引表中找到AC-42这五个字条的索引(10,12,41,4,2) ?    2.两两分组:(10,12)(41,4)(2) ?    3.把每一组转成11bits的二进制: ?    (10,12)10*45+12等于462转成00111001110 ?    (41,4)41*45+4等于1849转成11100111001 ?    (2)等于2转成0000104.把这些二进制连接起来:0011100111011100111001000010 ?    5.把字符的个数转成二进制(Version1-H为9bits):5个字符,5转成000000101 ?    6.在头上加上编码标识0010和第5步的个数编码:0010000000101001110011

文档评论(0)

scj1122115 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203112234000004

1亿VIP精品文档

相关文档