c语言画四叶图案编程代码

2022-07-11 06:15:20   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《c语言画四叶图案编程代码》,欢迎阅读!
图案,语言,编程,代码

c语言画四叶图案编程代码

实现整个代码的过程可以分为,准备数据码,准备纠错码,输出二维码三个部分,下面会通过"HELLOWORLD"这个例子展开讲解每个部分。

0.准备数据码 0.1.确定纠错等级

纠错等级分为L,M,Q,H,越高的纠错等级拥有更强的恢复数据的能力,更高级别的错误校正需要更多的字节,因此更高级别的错误校正将必须具有更大的QR码。这里我们选择M纠错级别。

0.2.确定数据最小版本

不同大小的QR码称为版本。二维码目前有四十个版本。最小的版本是版本1,大小为21像素x21像素。版本225像素乘25素。最大的版本是40版,大小为177x177像素。每个版本比以前的版本大4个像素。每个版本具有最大容量,具体取决于使用的模式。同时对于纠错码的选择也会对版本的最大容量有影响,具体的官方给出了一张表可以查看,容量表。在我是实现代码时,目标是简单实现,所以选择了最小的21x21版本。

0.3.模式指示器

模式指示器就是说使用什么编码形式,编码形式主要有数值模式、字母数字模式、字节模式、汉字模式、ECI模式。我为了扫描HELLOWORLD,选择了比较简单的字母数字模式,关于模式与对应的编码可以参考下表。


0.4.字符长度指示器

这一步是展示你的字符是多长的,对于不同的版本需要把字符长度转成不同的二进制编码长度,可以参考下面这张表。

上文提到我们使用的是字母数字模式,"HELLOWORLD"的长度为11,转成二进制为1011,我们需要补充位数到九位,得到000001011

把上一步得到的模式指示器编码0010与字符长度指示器编码接到一起,得到0010000001011

0.5.字符编码

上文中提到我们使用的是字母数字编码模式,于是我们参考字母数字编码规范进行字符编码,首先根据字符索引表查到每个字符对应的索引值,将整个字符串从左到右两两分组,每组中第一个字符索引值乘以45加上第二个字符索引值,将结果转化为11位的二进制数,不足11位在左侧补0以达到长度。如果字符串长度为奇数,将最后的单身狗字符转换成6位二进制。

最终,"HELLOWORLD"可以得到以下字符编码值: HE->17*45+14->779->01100001011 LL->01111000110 O(空格)->10001011100 WO->10110111000 RL->10011010100 D->001101


将以上内容拼接起来,我们得到61位字符编码,根据QR二维码规范,版本1-M的二维码需要128位的数据编码,目前我们已经4位编码指示符(00109位字符计数符(000001011,和61位的字符编码,共计74位,还差54位。根据规则,当长度不达到128位时,我们需要做如下流程。

如果相差位数大于等于4位,那么增添一个4位的终止,0000,我们距离128位还差54位,显然是大于4的,于是加上4位终止符,长度来到78位。




本文来源:https://www.dywdw.cn/b6a13d0740323968011ca300a6c30c225901f0df.html

相关推荐
推荐阅读