每天都能接触到的微信支付二维码,到底是通过什么原理生成的?

如题所述

微信支付的二维码是一种用特定的几何图形按编排规律在二维码方向上分部,采用黑白相间的图形来记录数据符号信息的编码。

一个完整的微信二维码是由定位、功能数据以及数据内容三大部分组成。其中的定位图案用于标记二维码矩形的大小,一个二维码矩形的位置和方向由三个定位图案确定。除此之外还有可以用白边框将定位图案与其他区域区分的定位图案分割器以及为防止扫描时畸变产生的时序图案。至于对其图案,只在部分二维码版本上使用。功能数据主要是用于存放格式信息以及版本信息。数据内容用于存储数据码以及纠错码等剩余部分数据。

其中最核心最关键的部分则是数据编码部分了,数据编码有多种形式,其主要有数字编码,字符编码,字节编码,日文编码及其他特殊编码,这些数据编码都只能编码出相应的编码。在编好上述编码之后则需要在最后加上结束符,如果最后还是没有达到我们最大的Bits数限制,这时就需要在编码的最后加上补齐符,补齐符的内容是不停重复两个字节。这样就完成了数据码的编制。其次便是要对数据码加上纠错码,纠错码主要是通过里德-所罗门纠错算法实现的。终于到了最终编码环节,只需将数据码与纠错码的各个字符交替放置。接下来就可以进行二维码图的设计与绘制了。就这样我们就可以得到一张二维码啦。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-04
二维码其实就是有很多0、1组成的数字矩阵。二维码是用某种特定的几何图形按一定规律分布在平面上。这就是二维码生成的原理。
第2个回答  2019-09-04
其实归根到底应该就是零和一。现在的网络其实就是零和一所构成的,只是我们看不到而已。
第3个回答  2019-09-05
字符在变成只有0和1组成的数字序列后,在进行一系列优化算法就得到了最终的二进制编码。在最后的这串编码中,一个0就对应的是一个'白色小方块',一个1就对应的一个‘黑色小方块’,我们把这些小方块分成8个一组填进大方块里,这就是一个完整的、可以被手机相机识别的二维码图案了。
第4个回答  2019-09-04
通过特殊代码编写程序,把扫描二维码后的程序预设为收款,支付二维码通过每个格子不同的色彩情况,表达出账号信息及可收款请求。