车辆识别号码 (VIN 码)/校验位
外观
这似乎不适用于澳大利亚的 VIN 号码。
VIN 号码中一个相当一致的元素是使用第 9 位作为校验位,北美车辆强制使用,并且即使在该规则之外也相当一致地使用,除了英国,那里不使用校验位。
计算 VIN 校验位的过程如下
- 根据下面的音译表,将 VIN 中的每个字母替换为一个数字。
- 根据下面的表格,将得到的每个数字乘以其相应的权重。
- 将结果相加。
- 将和除以 11 并取余数。此余数即为校验位。如果余数为 10,则使用 X 作为校验位。
音译包括根据下表将字母替换为数字。I、O 和 Q 不在表中,因为它们不能存在于有效的 VIN 中。数字使用它们自己的值,并且不会因音译而改变。
A: 1 | B: 2 | C: 3 | D: 4 | E: 5 | F: 6 | G: 7 | H: 8 | N/A |
J: 1 | K: 2 | L: 3 | M: 4 | N: 5 | N/A | P: 7 | N/A | R: 9 |
S: 2 | T: 3 | U: 4 | V: 5 | W: 6 | X: 7 | Y: 8 | Z: 9 |
以下是 VIN 中每个位置的权重因子。最左边的数字是位置 1。第 9 位是校验位的位置。它已被替换为 0,这将在乘法步骤中将其抵消。
位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
权重 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 10 | 0 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
考虑 VIN 1M8GDM9A_KP042788
,其中下划线将是校验位。
VIN | 1 | M | 8 | G | D | M | 9 | A | _ | K | P | 0 | 4 | 2 | 7 | 8 | 8 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
音译 | 1 | 4 | 8 | 7 | 4 | 4 | 9 | 1 | _ | 2 | 7 | 0 | 4 | 2 | 7 | 8 | 8 |
权重 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 10 | 0 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
乘积 | 8 | 28 | 48 | 35 | 16 | 12 | 18 | 10 | 0 | 18 | 56 | 0 | 24 | 10 | 28 | 24 | 16 |
- VIN 中的每个字母都根据音译表替换为一个数字。VIN 中的数字保持不变。这将导致音译行。
- 每个音译后的数字都根据权重表乘以一个权重。每个位置的权重在此处在权重行中复制。逐元素相乘得到乘积行。
- 乘积之和为 351。
- 将和 351 除以 11,得到余数 10。
- 由于余数为 10,因此校验位为 X。
校验位添加到 VIN 中:1M8GDM9AXKP042788
。
由11111111111111111
(十七个 1)组成的 VIN 具有有效的校验位。这可以用作验证校验位算法的测试用例。