痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 4295|回復: 17

有高手會解讀一維條碼的嗎?

[複製鏈接]
發表於 2022-2-11 11:53:31 | 顯示全部樓層 |閱讀模式
各位前輩好,不知這問題該歸類哪一區...

我手邊有支淘寶買的條碼掃描器,因為使用上的需求
當掃入一串數字時,需要略過前六個字元,換言之,只需要提取第7個字元以後的字串

不過使用指南裡面只附上了略過1、2、3、5個字元的設定碼,偏偏沒有4和6的,問了賣家客服也不知道

我分析了一下
IMG_20220211_111214.jpg

只有紅線處不同,是否只要變更此處就有可能達到我的需要?

謝謝
發表於 2022-2-11 12:00:32 | 顯示全部樓層
拿可樂罐掃一下, 自己實驗就有答案
發表於 2022-2-11 16:05:09 | 顯示全部樓層
依你圖片,可用"code128 c"條碼規格,
掃出 023401,023402,023403,023405的內容,
應該就是看第6碼決定隱藏幾位字符
可以"google "線上生成條碼",產生1組023406的條碼試試,
 樓主| 發表於 2022-2-11 16:33:24 | 顯示全部樓層
ISAAC_2011 發表於 2022-2-11 04:05 PM
依你圖片,可用"code128 c"條碼規格,
掃出 023401,023402,023403,023405的內容,
應該就是看第6碼決定隱藏 ...

我爬了一些資料,發現事情好像沒那麼簡單
可以參照
文章1
文章2

code128有起始碼+資料+檢查碼+結束碼,撇開都一樣的起始碼和結束碼不談
我畫紅線的那一段就是第六位數字+檢查碼

barcode.png
第六位數字我有點頭緒了,b代表細黑線、s代表細白線
bbssbbsbbss代表1
bbssbbssbbs代表2
bssbssbbssb代表3
bsssbssbbss代表5

但要怎麼推算出檢查碼,我頭就大了

評分

1

查看全部評分

發表於 2022-2-11 17:27:02 | 顯示全部樓層
beskur 發表於 2022-2-11 04:33 PM
我爬了一些資料,發現事情好像沒那麼簡單
可以參照
文章1

不用管code 128的編碼組成啊.

依據#3 ISAAC_2011大掃出的條碼明碼文字
023401,023402,023403,023405這規則
也就是掃描器掃到上述文字就會跳入設定功能
尾數的01,03,05應該就是要忽略前置文字的字數
0234應該就是功能別代碼.

所以就用線上條碼生成產生023406用掃描器掃入
嘗試看看是不是有這個忽略前置文字6碼的功能

但是我很懷疑,沒列出的功能可能,並沒辦法設定就是.

評分

1

查看全部評分

 樓主| 發表於 2022-2-11 17:46:42 | 顯示全部樓層
conbawa 發表於 2022-2-11 05:27 PM
不用管code 128的編碼組成啊.

依據#3 ISAAC_2011大掃出的條碼明碼文字

雖說明碼文字掃出來是023401,但實際內容應該不是單純023401
我上網試了很多barcode generator,以023401去產生的條碼都和指南上的不同

因為這是給掃碼器設定用的專用條碼,若只是單純用023401這段文字去做設定就能奏效的話
那萬一哪一天掃碼器真的掃到一段條碼文字內容是023401,那掃碼器要認定是設定用條碼,還是文字023401?
發表於 2022-2-11 18:03:20 | 顯示全部樓層
beskur 發表於 2022-2-11 04:33 PM
我爬了一些資料,發現事情好像沒那麼簡單
可以參照
文章1


  這四條碼似乎為 Code 128 B 的 (起始碼條碼資料為 11010010000).



  檢查碼 (先準備好 Code 128 條碼字元表):


  以起始碼 Code B 編碼的 023401 條碼來說


  算出S值 S=103+(d1*1)+(d2*2)+ (d3*3)+ (d4*4)+ … (d1: 表示資料第1個字元)

  因為起始碼為 Code B, 所以字元相對值使用 B table.

  則 S=103+(16*1)+(18*2)+(19*3)+(20*4)+(16*5)+(17*6)=103+16+36+57+80+80+102=474


  將 S 值除以 103, 取其餘數 M 值. 474/103=4…62 取餘數 M=62


  將 M 值 62 代入 B table 找到相對值的字元為 ^, 即檢查碼為 ^.
 樓主| 發表於 2022-2-11 19:07:46 | 顯示全部樓層
conbawa 發表於 2022-2-11 05:27 PM
不用管code 128的編碼組成啊.

依據#3 ISAAC_2011大掃出的條碼明碼文字

我開始相信你說的了...

因為我翻了幾家掃碼器的手冊
居然大家都只能略過前置1、2、3、5個字元,偏偏都沒有4和6,是有沒有那麼巧...
發表於 2022-2-11 23:11:27 | 顯示全部樓層
beskur 發表於 2022-2-11 07:07 PM
我開始相信你說的了...

因為我翻了幾家掃碼器的手冊


最後一招改接收端軟體,掃描器這邊設定全部不隱藏,由接收端軟體過濾。

 樓主| 發表於 2022-2-12 08:28:07 | 顯示全部樓層
ysc 發表於 2022-2-11 11:11 PM
最後一招改接收端軟體,掃描器這邊設定全部不隱藏,由接收端軟體過濾。

...

是的,我現在把腦筋動到接收端這邊了
打算用autohotkey寫個腳本來達成我要的結果
有成功再來分享
發表於 2022-2-12 19:49:56 | 顯示全部樓層
本帖最後由 pucheng0705 於 2022-2-12 08:07 PM 編輯
beskur 發表於 2022-2-11 05:46 PM
雖說明碼文字掃出來是023401,但實際內容應該不是單純023401
我上網試了很多barcode generator,以023401 ...


去查詢 Decoder 網站可以解析出條碼數據。

[HEX] 68 60 63 02 22 01 1e 6a

34轉換16進位等於 22(hex)。

barcode.jpg


Code 128 -Wiki
68        Start Code B
60        FNC 3
6a        Stop


評分

3

查看全部評分

 樓主| 發表於 2022-2-12 22:02:52 | 顯示全部樓層
本帖最後由 beskur 於 2022-2-12 10:06 PM 編輯
pucheng0705 發表於 2022-2-12 07:49 PM
去查詢 Decoder 網站可以解析出條碼數據。

[HEX] 68 60 63 02 22 01 1e 6a


太實用了,這樣我總算完整分析了這些條碼

那我現在算出來「跳過前6字元」的Raw bytes是68 60 63 02 22 06 37 6a了

不過有哪個barcode generator可以輸入hex去產生的嗎?
我看了幾個generator,好像只有這個網站有提到HEX,但試不出來

如果沒有generator可以用的話,我就跟它土法煉鋼,用小畫家慢慢畫了
發表於 2022-2-12 22:48:04 | 顯示全部樓層
beskur 發表於 2022-2-12 10:02 PM
太實用了,這樣我總算完整分析了這些條碼

那我現在算出來「跳過前6字元」的Raw bytes是68 60 63 02 22 0 ...

可以輸入的,但要去查Escape Sequences



去參考
Barcode Overview

4.7 Escape Sequences (Encoding Binary Data)  Page 16 of 111

例如:
\<FNCx>
Function sequence. Currently FNC1, FNC2, FNC3, and FNC4
are implemented. \<FNC1> is equal to \F.

評分

1

查看全部評分

發表於 2022-2-13 11:22:47 | 顯示全部樓層
本帖最後由 pucheng0705 於 2022-2-13 11:25 AM 編輯
pucheng0705 發表於 2022-2-12 10:48 PM
可以輸入的,但要去查Escape Sequences


影片的說明中有提供條碼產生器:

On line barcode generator

barcode 2.jpg


可以比較看看,和你原始的條碼023401是否相符。


023406的話就是這樣:
barcode 3.jpg

評分

3

查看全部評分

 樓主| 發表於 2022-2-13 12:51:50 | 顯示全部樓層
pucheng0705 發表於 2022-2-13 11:22 AM
影片的說明中有提供條碼產生器:

On line barcode generator

原來要先輸入\<FNC3>...

我昨天算出HEX後,因為搞不懂barcode generator要怎麼用
就直接先把68 60 63 02 22 06 37 6a轉成binary
直接用excel暴力畫出barcode了
螢幕擷取畫面 2022-02-13 124623.png

跟您用generator產生的一模一樣,應該是沒有錯了

等明天上班再試試掃碼器支不支援


感謝~
 樓主| 發表於 2022-2-14 11:37:54 | 顯示全部樓層
測試結果........


自製條碼還真的可以用

雖然過程殺了些腦細胞,但還蠻有成就感的


至於為何各家條碼機都不在手冊上列出隱藏前置或後置4或6字符的功能
我唯一想到的理由就是

在牆內遇到「六四」就會自動屏蔽吧
發表於 2022-2-14 17:09:12 | 顯示全部樓層

恭喜成功.

為什麼忽略前置字元不寫4或6,這猜想倒是有趣

像是ARGOX AS-8060說明書寫法
未命名.jpg
就沒有特別寫出忽略幾個字,也清楚地說明省略6個字元是可行的ˊ.

那,至於為什麼會大家都很相近的只寫了1,3,5個字元

或許....寫說明書的就參照第一個這樣寫的說明書
覺得這樣不錯啊,來個依樣畫葫蘆也說不定
 樓主| 發表於 2022-2-14 17:51:38 | 顯示全部樓層
本帖最後由 beskur 於 2022-2-14 06:02 PM 編輯
conbawa 發表於 2022-2-14 05:09 PM
恭喜成功.

為什麼忽略前置字元不寫4或6,這猜想倒是有趣


感謝分享

就這本說明書的內容看來,其實條碼器能夠達成的功能遠多於一般手冊上所載
甚至可以說,這本ARGOX AS-8060說明書算得上是技術手冊
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-11-15 03:38 AM , Processed in 0.295277 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.