目的:在excel里面手搓个二维码,写个手机能读出来的“Shr1mp”
(1)、初始模板
我画的是一个version1且容错等级为H的二维码,所以选用21*21的规格
弄好version1二维码中的固定格式部分

(2)、数据编码
根据这个表

1. 从字符索引表中找到“SHR1MP”相对应的值。(28,17,27,1,22,25)
2. 两两分组(28,17),(27,1),(22,25)
3. 把每一组转换成11bit的二进制:
(28,17):28*45+17=1277=10011111101
(27,1) :27*45+1 =1216=10011000000
(22,25):22*45+25=1015=01111110111
4. 把这些二进制连接起来:10011111101 10011000000 01111110111
5. 把字符的个数转成二进制,6个字符(“SHR1MP”):000000110
6. 再加上字符编码的标识0010,加起来就是0010 10011111101 10011000000 01111110111
7. 再加上结束符0000:0010 000000110 10011111101 10011000000 01111110111 0000
8. 按8bit重排,并补齐位数为8的倍数:
00100000 00110100 11111101 10011000 00001111 11011100 00(重排)
00100000 00110100 11111101 10011000 00001111 11011100 00000000(补齐)
(3)、计算纠错码
7个原始数据码字 + 12个交替填充码,凑齐19个,将数据码字在GF(256)有限域上左移7位后除以生成多项式,所得余数即为纠错码字。
所以纠错字码为7
(此过程可以查表进行)
(4)、整理
数据码字:32,52,253,152,15,220,0,17,236,17,236,17,236,17,236,17,236,17,236
纠错码字:99,1,254,247,238,232,207
(5)、数据填充
接下来按照这个方式填充:

得到:

(6)、与掩码进行异或运算
根据QR罚分规则:
规则 1:连续同色模块 >= 5 个,罚分
规则 2:每个 2×2 同色块,罚 3 分
规则 3:出现类似定位符的 1:1:3:1:1 图案,罚 40 分
规则 4:黑白比例偏离 50%,按偏离程度罚分
得到最终数据:
掩码编号:0
罚分:284
格式信息:纠错等级 L + Mask 0
将相应的format information信息填充进相应的区域。

(7)、成功绘制


好的老大
?