MSI(也称为Modified Plessey)是条码符号的MSI数据公司的基础上,原普莱塞符号发展。这是一个连续的符号是不能自我检查。微星主要用于库存控制,标识和储存容器仓库环境货架。
字符集和二进制查找
星字符集包括数字0 .. 9,以及两个“后卫”字符(代表开始和结束的条码)。该符号不支持字母
二进制映射
数字和防范字符由一个二进制数,如表所示。
| 字符 | 映射 |
|---|---|
| 起始位 | 110 |
| 0 | 100100100100 |
| 1 | 100100100110 |
| 2 | 100100110100 |
| 3 | 100100110110 |
| 4 | 100110100100 |
| 5 | 100110100110 |
| 6 | 100110110100 |
| 7 | 100110110110 |
| 8 | 110100100100 |
| 9 | 110100100110 |
| 终止位 | 1001 |
为了从这张地图的条码图像,必须考虑一个简单的数字1是一个黑色的条码和数字0是一个白色的条码和产生相应的图像。
校验码的计算
条码使用的MSI计算校验码的五种可能的方案之一:
没有校验码(不常见)
模10(最常见)
模11
模1010
模1110
模10校验位
当使用模10校验位算法,一个字符串进行编码1234567将被检查的4位印刷:
12345674模10校验码算法使用Luhn算法。
模11校验位
1.反向的字符串进行编码(在这种情况下1234567)。
设S是反向的字符串进行编码
S = 7654321
2.字符串,然后“加权”重复使用权重因子的模式。
有两个模11算法的重复使用不同的权重因子的模式:IBM的算法,它使用(2,3,4,5,6,7)和NCR的算法,它使用(2,3,4,5,6, 7,8,9)。找循环的每个字符的字符串之和乘以2日至7(IBM)的重量或2日至9(为NCR)是根据自己的立场。如果重量的价值超过人数最多(7或9),重置重回到2。这个例子使用的是(2,3,4,5,6,7加权模式的IBM模11算法)
令X =字符串的最终产品进行编码。
X = 7 * 2
X = 6 * 3
X=5 * 4
X = 4 * 5
X = 3 * 6
X=2 * 7
X= 1的* 2X = 14 + 18 + 20 + 20 + 18 + 14 + 2X = 106
3.模11减去11的结果,然后应用函数再次模11
设C等于校验位。
C=(11 - (X MOD 11))MOD11
C=(11 - (106 MOD 11))MOD11
C=(11 - 7)MOD 11
C= 4MOD11
C= 4
校验位是4
模1010校验码
简单计算模10校验数首次,然后再计算与先前的结果,并追加第二模10计算结果的字符串进行编码。模1110校验码
模1010相同,但第一个计算应模11校验码。
例子
作为一个例子,我们将生成一个数字序列的使用最普遍的模10校验码的方法1234567微星条码。
检查数字(以上为calcuated这个序列)为4。
一旦你计算您的校验码,只需地图字符串中的每个字符的编码使用上述表作为参考,以获取条形码的二进制图;记得在前面加上“开始”的代码,结束它与“停止“例如,映射与MOD10校验码,将产生以下的二进制字符串映射1234567:
产生的结果如下: 字符 映射 内容 起始位 110 起始字符 1 100100100110 1 2 100100110100 2 3 100100110110 3 4 100110100100 4 5 100110100110 5 6 100110110100 7 7 100110110110 7 4 100110100100 校验位4 终止位 1001



