永发信息网

微信二维码怎么生成,微信支付的二维码是怎么生成的?

答案:1  悬赏:0  手机版
解决时间 2021-04-17 01:06
微信二维码怎么生成,微信支付的二维码是怎么生成的?
最佳答案
首先,我们先说一下二维码一共有40个尺寸。官方叫版本Version。Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29的尺寸,每增加一个version,就会增加4的尺寸,公式是:(V-1)*4 + 21(V是版本号) 最高Version 40,(40-1)*4+21 = 177,所以最高是177 x 177 的正方形。
下面我们看看一个二维码的样例:
定位图案
Position Detection Pattern是定位图案,用于标记二维码的矩形大小。这三个定位图案有白边叫Separators for Postion Detection Patterns。之所以三个而不是四个意思就是三个就可以标识一个矩形了。
Timing Patterns也是用于定位的。原因是二维码有40种尺寸,尺寸过大了后需要有根标准线,不然扫描的时候可能会扫歪了。
Alignment Patterns 只有Version 2以上(包括Version2)的二维码需要这个东东,同样是为了定位用的。
功能性数据
Format Information 存在于所有的尺寸中,用于存放一些格式化数据的。
Version Information 在 >= Version 7以上,需要预留两块3 x 6的区域存放一些版本信息。
数据码和纠错码
除了上述的那些地方,剩下的地方存放 Data Code 数据码 和 Error Correction Code 纠错码。
数据编码
我们先来说说数据编码。QR码支持如下的编码:
Numeric mode 数字编码,从0到9。如果需要编码的数字的个数不是3的倍数,那么,最后剩下的1或2位数会被转成4或7bits,则其它的每3位数字会被编成 10,12,14bits,编成多长还要看二维码的尺寸(下面有一个表Table 3说明了这点)
Alphanumeric mode 字符编码。包括 0-9,大写的A到Z(没有小写),以及符号$ % * + – . / : 包括空格。这些字符会映射成一个字符索引表。如下所示:(其中的SP是空格,Char是字符,Value是其索引值) 编码的过程是把字符两两分组,然后转成下表的45进制,然后转成11bits的二进制,如果最后有一个落单的,那就转成6bits的二进制。而编码模式和字符的个数需要根据不同的Version尺寸编成9, 11或13个二进制(如下表中Table 3)
Byte mode, 字节编码,可以是0-255的ISO-8859-1字符。有些二维码的扫描器可以自动检测是否是UTF-8的编码。
Kanji mode 这是日文编码,也是双字节编码。同样,也可以用于中文编码。日文和汉字的编码会减去一个值。如:在0x8140 to 0x9FFC中的字符会减去8140,在0xE040到0xEBBF中的字符要减去0xC140,然后把结果前两个16进制位拿出来乘以0xC0,然后再加上后两个16进制位,最后转成13bit的编码。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
qq农场加载素材时候 由于网络加载太慢或中断
建水县临安社区卫生服务中心在哪里啊,我有事
在品牌塑造方面,网富能提供什么服务?
有哪位懂南宁医科大第一付属医院地址在那?男
写父亲的名言有那些,怀念父亲的祝福语大全
乐山诺基亚N81行货卖多少钱?
布的边缘日语怎么说,日语“ 针织布 ”怎么说
新疆百果汇在什么地方啊,我要过去处理事情
谁给个NBA LIVE08的连接啊,要完整的,顺便再给
我的电脑每次关机时出现0x10077fd0指令
魔兽2区哪服部落进战场快?
关于夏季节气的古诗词,有那些描写七八月份的
万达公馆一区北门怎么去啊,有知道地址的么
移动打长途有什么好的优惠活动?
温州市区可买到的温州特产
推荐资讯
最近心情很低落怎么办?
跪求游戏机的【真三国无双4】、详细资料图片
怎样能快速发烧.
急求给新生宝宝取名。要带五行
3号月经什么时候排卵
感叹号灯亮是什么意思,车上的驻车灯为什么变
怎样处理人与人之间的关系?
怎么样可以看不到空间的好友动态?
NAS是什么意思
手机可以QQ农场吗?
我的诺基亚8800.手机sim卡被锁住了,为什么我
歌曲舞蹈的魅力
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?