手搓一个QRCode

目的:在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)、成功绘制

评论

  1. 凉虾的咪咪
    1 月前
    2026-6-03 18:54:39

    好的老大

    • 博主
      凉虾的咪咪
      1 月前
      2026-6-03 19:41:33

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇