彩乐园

 
公司信息 解決方案 條碼設備 條碼耗材 工業設備 服務與支持 聯系我們

 


您的位置:  敏用首頁




Code128條形碼的校驗位碼是怎么計算出來的?

發布時間: 2013-3-24 9:00:39
雙擊自動滾屏打印此頁】【關閉本頁

問題:
哪位知道Code128B條碼的檢驗碼是怎樣計算的,條碼是35925404143996產生了一個校驗碼9,9是怎樣算出來的?
 
 
敏用數碼解答:
 
標準Code128本身是沒有校驗位的,你說的校驗位是通過另外的算法來生成的,用于系統對條形碼的核準。
 
35925404143996,校驗碼為9,這個校驗算法應該是Luhn算法。
 
Luhn算法由IBM的Hans Peter Luhn發明,又稱為“模10”算法,是一種簡單的校驗和算法,用來驗證識別號,比如信用卡號、IMEI號、社會保險號等。它的算法簡單,并只采用最后一位數字作為校驗位,可以有效防止偶然的輸入性錯誤。Luhn算法只能用于簡單的校驗,不能用于加密算法,當然,這也不是該算法的目的。Luhn算法可以檢測到以下輸入性錯誤:所有的單位數字錯誤,如210寫作215;能檢測到絕大多數的臨位錯位,比如315寫作351,但是只有兩位的情況下無法檢測,比如09寫作90;能夠檢測雙數字寫錯10種的7種,比如11寫為22,但是有3種無法檢測,如22和55、33和66、44和77。

Luhn算法實現:
以10位數字“7992739871”為例, Luhn算法可以這樣描述:
1、從右往左,隔位乘2:比如1乘2得到2,8乘2得到16;
2、清理兩位數字:如果乘以2得到的數字是兩位,即大于等于10,就把這兩位相加得到一位數字。比如步驟1中的2不需要相加,16的兩位相加得到7;
3、相加模10:把步驟2得到的各位數字相加(本例為67),以10取模后(本例為7),用10相減即得到校驗數字(本例為3)。當然如果得到10就按0計算。
 
按照Luhn算法,我們來對35925404143996的校驗位進行分析得出:
原始數字  3  5  9  2  5  4  0  4  1  4  3  9  9  6  
隔位乘2  3  10  9  4  5  8  0  8  1  8  3  18  9  12  
清理兩位數字  3  1  9  4  5  8  0  8  1  8  3  9  9  3  
相加模10                              71%10=1
用10減                              9
 
根據Luhn算法,條形碼35925404143996生成的校驗位為9。
 
 
條碼掃描器 數據采集器

 


相關同類信息:
  • 條形碼694976760001x效果怎么制作?Bartender可行
  • 關于條形碼的一道數學應用題
  • 服裝商標上沒有條形碼,能否用打價器打數字來代替呢?
  • NicelLabel軟件如何實現圖像的顯示和隱藏?
  • 客戶提供的條形碼與CORELDRAW生產的條形碼不一致,怎么解決?
  • 默認打印的13位CODE128C條形碼,自動變為14位時不匹配,什么問題呢?
  • 如何用Bartender將日期變量和序列號變量兩個放在一起打印成條碼?
  • Bartender軟件中為什么不能隨意調整code39條形碼的密度呢?

  •  
    © 2003-2007 kckidsfurniture.com.
    万家彩票(广州)集团有限公司 快彩网-官网 彩人间-通用app下载 民彩网-互动百科 幸运PK10-专业购彩 掌上彩票-手机版 彩神彩票(广东)集团有限公司