UPC条形码由一系列黑色和白色条组成。条的宽度范围为1到4(1为最薄,4为最厚)。每个数字0到9使用4个条形码进行编码:
Digit | Bar Thickness Sequence
0 | 3-2-1-1
1 | 2-2-2-1
2 | 2-1-2-2
3 | 1-4-1-1
4 | 1-1-3-2
5 | 1-2-3-1
6 | 1-1-1-4
7 | 1-3-1-2
8 | 1-2-1-3
9 | 3-1-1-2
如何将条宽分配给数字0到9?我注意到每个系列的4个柱子总和为7,但除此之外我没有看到明显的模式?
(注意:UPC条形码编码的数字可以有特殊含义(产品分类,供应商,校验和等)。这个问题仅涉及条形宽度(条形码编码)的推导方式。
以下是我发现的参考资料之一:所有关于UPC条形码和EAN条形码
2
我不知道完整的答案,但它肯定是为了纠正错误/检测。(是的,仍然有检查代码)条形码阅读器必须能够检测它是否已读取整数或部分数字的开头。如果您查看宽度数字,则不应该有一个模式能够向右或向左移动一个条形并仍然生成有效数字。
—
hazzey
请注意,序列是交替的黑/白,因此移位误差需要为2的移位。实际上有很多例子可以显示,例如,
—
agentp 2016年
4-6
移动两个会给出零(所以我的结论是这样的移位误差不是问题)。