跳轉到內容

車輛識別號碼 (VIN 碼)/校驗位

來自 Wikibooks,開放世界中的開放書籍


這似乎不適用於澳大利亞的 VIN 號碼。

VIN 號碼中一個相當一致的元素是使用第 9 位作為校驗位,北美車輛強制使用,並且即使在該規則之外也相當一致地使用,除了英國,那裡不使用校驗位。

計算 VIN 校驗位的過程如下

  1. 根據下面的音譯表,將 VIN 中的每個字母替換為一個數字。
  2. 根據下面的表格,將得到的每個數字乘以其相應的權重。
  3. 將結果相加。
  4. 將和除以 11 並取餘數。此餘數即為校驗位。如果餘數為 10,則使用 X 作為校驗位。

數字的音譯

[編輯 | 編輯原始碼]

音譯包括根據下表將字母替換為數字。IOQ 不在表中,因為它們不能存在於有效的 VIN 中。數字使用它們自己的值,並且不會因音譯而改變。

音譯金鑰: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
  1. VIN 中的每個字母都根據音譯表替換為一個數字。VIN 中的數字保持不變。這將導致音譯行。
  2. 每個音譯後的數字都根據權重表乘以一個權重。每個位置的權重在此處在權重行中複製。逐元素相乘得到乘積行。
  3. 乘積之和為 351。
  4. 將和 351 除以 11,得到餘數 10。
  5. 由於餘數為 10,因此校驗位為 X。

校驗位新增到 VIN 中:1M8GDM9AXKP042788

11111111111111111(十七個 1)組成的 VIN 具有有效的校驗位。這可以用作驗證校驗位演算法的測試用例。

華夏公益教科書