39碼 128B碼解決方案

2022-01-17 09:11:08 字數 1522 閱讀 2902

39碼可以直接用字型代替,來字元前後都加下「*」,即可被條碼槍識別。

128b碼的話,用字型加演算法的方法才行,要計算開始位、校驗位、結束位。

vba計算方法:

view code

1

function code128b(tar as range) '

128b碼:chrw(204).

2dim

s$, i%, ss$, j%, curr%, checkb%

3 curr =tar.row

4 s =tar.value

5 checkb = 1

'開始位的碼值為104 mod 103 =1

6for i = 1

tolen

(s)7 ss = mid(s, i, 1

)8 j = asc(ss) '

不過濾無效字元,比如漢字.

9if j < 135

then

10 j = j - 32

11elseif j > 134

then

12 j = j - 100

13end

if14 checkb = (checkb + i * j) mod

103'

計算校驗位

15next

16if checkb < 95

and checkb > 0

then

'有的資料直接求103的模,解說不充分,因為有的校驗位超過127時,系統會"吃"掉它們(連帶休止符).

17 checkb = checkb + 32

18elseif checkb > 94

then

'字型設定時,字模被定義了2個值.觀察字型檔案時能發現.

19 checkb = checkb + 100

20end

if21 code128b = chrw(204) & s & iif(checkb, chrw(checkb), chr(32)) & chrw(206)22

end function

c#計算方法:

view code

1

private

string get128codestring(string

inputdata)211

else

1215

}16 checksum = checksum % 103;17

if (checksum < 95)18

21else

2225 result = convert.tochar(204) + inputdata.tostring() + convert.tochar(checksum) + convert.tochar(206

);26

return

result;

27 }

128碼和39碼編碼規則

最近在研究條形碼,主要是39碼和128碼,感覺還挺有意思,說起來這2種條形碼其實也挺簡單,其編碼特點如下 1 每五條線表示乙個字元 2 粗線表示 細線表示 3 線條間的間隙寬的表示 窄的表示 4 五條線加上它們之間的四條間隙就是九位二進位制編碼,而且這九位中必定有三位是1,所以稱為39碼 5 條形碼...

php註冊碼解決方案

幫人做的乙個專案,要求新增註冊碼功能 形如那些共享軟體 要求一台電腦對應唯一的key,這樣就能有效的保護版權,就算把程式拷貝到其他電腦,沒有key也使用不了,下面是我的思路,不知道大蝦們有什麼好的解決方案?我是這樣考慮的 1 通過php獲取電腦 伺服器 的硬體資訊,如mac位址 2 通過硬體資訊生成...

Java 驗證碼識別解決方案

對於類似以下簡單的驗證碼的識別方案 識別驗證碼並返回 train path 驗證碼字母相簿位置 param imgurl 驗證碼url 抽取頁面驗證碼並返回 param stringbuffer return 驗證碼字串 public static string getcaptcha stringb...