哈喽,大家好,條碼在物流管理中的作用不可忽略,關于條碼的類型和怎麼識别條碼内容,花了些時間給大家搜集分享下。喜歡的可以關注少年負壯氣(snfzq0315)。
閑話少說,直接看下面内容吧:
1 條形碼簡介
條形碼(BarCode)是指将寬度不等的黑條(簡稱條B)與空白(簡稱空S),按照一定的編碼規則排列成一組平行線圖案,用以表達一組信息的圖形标識符。條形碼可标出物品的生産國、制造商、名稱、日期、圖書分類号、郵件起止地點、類别、價格等許多信息,因而在商品流通、圖書管理、郵政管理、銀行系統等諸多領域得到了廣泛的應用。
1.1 标準條形碼組成成分
标準的條形碼格式
如上圖所示為标準的條形碼格式,其組成成為主要有:
左右空白區:保證設備正确獲取完整的條碼信息;
起始符:位于條碼首位,具有特殊結構,當設備讀取該字符時,表明開始獲取條碼信息;
數據符:條形碼核心内容,可由數字、字母、特殊字符等組成;
校驗符:校驗讀取信息是否正确,位于數據符之後,不同編碼規則校驗符計算方法不同;
終止符:位于條碼末位,具有特殊結構,當設備讀取該字符時,表明獲取條碼信息完成;
黑條B與白空S:通過寬窄不同的條空組合表示不同的字符;
條空常見尺寸(寬度)類型:
二進制:2種尺寸,粗為1、細為0;如ITF-14、CodaBar、Code39等;
多級制:4種尺寸,從細到粗分别為1、2、3、4;如EAN-8/13、UPC-A/E、Code-128、EAN-128、HIBC等。
字符類型:數字、字母、符号、特殊字符等;
1.2 常見條碼規則的差異對比
目前,全世界共有約100種條碼規則,不同條碼規則之間的區别在于起止符、條空尺寸、編碼方式、校驗位計算方法等的不同。因此,無論是人工區分不同的條碼規則,還是機器識别不同的條碼規則,都可以依據條碼規則之間的差異性來進行。如下表1.1中列出了常用編碼規則之間的特征對比。
表1.1 常用編碼規則及其特征描述
1.2.1 條碼編碼區分:
不同編碼規則下的條碼可根據以下總結的幾點内容進行區分:
① 起止符、支持字符類型
條形圖案、純數字:EAN-8、EAN-13、UPC-A、UPC-E、ITF-14
字符符号、數字/字母/符号:CodaBar、CODE-39、CODE-128、GS1-128、HIBC
② 起止符類别
CODE-39:起止均為“*”
CODE-128:起為“Start A/B/C”,止為“Stop”
GS1-128:起為“Start A/B/C FNC1”,止為“Stop”
CodaBar:起止均為“A/B/C/D或a/b/c/d”
HIBC:開始字符均為“ ”
③ 字符串寬度
8位: EAN-8、UPC-E
12位:UPC-A
13位:EAN-13
14位:ITF-14
任意位:CodaBar、CODE-39、CODE-128、GS1-128、HIBC
1.2.2 條碼規則識别:
① EAN-8/13、UPC-A/E
第一步,根據是否有間隔符判斷為EAN-8/13或UPC-A/E條碼?(思路:圖像識别)
如上圖所示UPC碼與EAN碼,這兩種規則下的條碼與其它規則條碼有一個很明顯的區别,在于UPC或EAN條碼中都有一個凸出來的分隔符,且首、中、尾位置的線條均有凸出來的部分,因此,可否通過圖像識别方式判别條碼為UPC碼或EAN碼?
· 若識别成功,條碼首、中、尾部均有凸出的部分,則判定為EAN或UPC條碼,否則,為其它類型條碼;然後進入下一步;
第二步,在成功判定為EAN或UPC條碼的前提下,進一步根據設備掃描到的數據對具體碼制進行判别?
· 如果字符串第一個字符為“0”,則判定為UPC碼,否則進入下一階段;
· 截取字符串前2位或3位(2位代碼與3位代碼的“前兩位”無重複),與國家代碼進行循環比對,比對成功則确定為EAN條碼,并可據此确定該條碼所代表物品的具體類型(如商品、圖書、彙款、券等);國家統一代碼如下圖所示。最新國家或地區前綴碼見附件一。
· 若此步判定失敗,則報錯,另行處理。
表1.2 國家/地區代碼
② ITF-14
③ CodaBar
④ Code-39
如圖為Code39規則下的條碼,根據Code39的編碼規則可知,在Code39編碼規則下,條碼中的每個字符由9個條空組合而成(5個黑條 4個白空),且每個字符間有固定寬度的的間隔符(即固定寬度的白條)。
⑤ Code-128 、 GS1-128
Code128與GS1-128具有相同的編碼規則,二者唯一的區别在于GS1-128條碼中增加了一個附加的應用标識符[FNC1],在數據中的體現如上右圖中的“(01)”。
由于設備掃描得到的數據中沒有機器可識别的明顯特征,但Code128、GS1-128條碼中擁有獨特的起止符(Start A/B/C、Stop)與應用标識符([FNC1]),因此,目前可考慮從掃描設備角度出發,識别條碼中起止符與應用标識符,具體思路如下:
當設備掃描條碼時:
· 識别條碼起、止位置的字符,如果起始位置為Start A/B/C、結尾位置為Stop,則判定該條碼規則為Code-128或GS1-128,否則,視為為其它類型條碼;然後,進入下一步;
· 進一步的判别,是否具有标識符[FNC1]?
若存在标識符[FNC1],則判定為GS1-128條碼,否則進入下一步;
若沒有标識符[FNC1],則判定為Code-128條碼。
下次的文章中我們将逐個介紹常見編碼規則的主要内容及條碼解析流程。
感興趣的可以關注公衆号(少年負壯氣:snfzq0315),或者識别下方二維碼關注
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!