39碼可以直接用字型代替,來字元前後都加下「*」,即可被條碼槍識別。
128b碼的話,用字型加演算法的方法才行,要計算開始位、校驗位、結束位。
vba計算方法:
view code
1c#計算方法: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
view code
1private
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...