精華區beta Programming 關於我們 聯絡資訊
> 【 在 lkk.bbs@bbs.mis.cycu.edu.tw (lkk) 的大作中提到: 】 > : 碁峰出過一本有關寫條碼程式的書, 不過好像是以 c 來討論. > > Office97 中的 Access 提供一個條碼控制項,內含十種常見的條碼規格。 > > 其它資料,請查 help。 模組名稱:條碼處理模組 模組目的:列印與處理條碼資料用。 版 本:1.00 著作日期:86/01/28 技術說明:1.39碼: (1)起始碼+資料碼+〔檢查碼〕+終止碼。 (2)起始碼與終止碼均為*。 (3)資料碼編號次序為0~9、A~Z、-、.、SP、$、/、+、% 共43種資料。 (4)檢查碼為資料編號值(0~42)累加後除以43取餘數視為資 料(註:檢查碼會視成資料輸入)。 (5)編碼資料(每碼有9條,其中3條為粗,各佔12線。以下各 位元奇數位為黑,偶數位為白,0為細,1為粗) 0 000110100 F 001011000 U 110000001 1 100100001 G 000001101 V 011000001 2 001100001 H 100001100 W 111000000 3 101100000 I 001001100 X 010010001 4 000110001 J 000011100 Y 110010000 5 100110000 K 100000011 Z 011010000 6 001110000 L 001000011 - 010000101 7 000100101 M 101000010 . 110000100 8 100100100 N 000010011 SP 011000100 9 001100100 O 100010010 $ 010101000 A 100001001 P 001010010 / 010100010 B 001001001 Q 000000111 + 010001010 C 101001000 R 100000110 % 000101010 D 000011001 S 001000110 * 010010100 E 100011000 T 000010110 各資料碼之間必須空開一條白線。 2.EAN-13碼: (1)護線+6個資料碼+中線+5個資料碼+檢查碼+護線 , 共佔119條線。 (2)資料只能為0~9之數字,連同檢查碼共13碼。 (3)首碼隱藏在左資料的編碼方式,故實際只編出12碼。以下為 各首碼所使用的編碼方式: 0 AAAAAA 1 AABABB 2 AABBAB 3 AABBBA 4 ABAABB 5 ABBAAB 6 ABBBAA 7 ABABAB 8 ABABBA 9 ABBABA A組編碼方式: 0 0001101 1 0011001 2 0010011 3 0111101 4 0100011 5 0110001 6 0101111 7 0111011 8 0110111 9 0001011 B組編碼方式: 0 0100111 1 0110011 2 0011011 3 0100001 4 0011101 5 0111001 6 0000101 7 0010001 8 0001001 9 0010111 以上各位元0為白,1為黑 (4)護線為101,中線為01010。 (5)右資料編碼方式固定如下: 0 1110010 1 1100110 2 1101100 3 1000010 4 1011100 5 1001110 6 1010000 7 1000100 8 1001000 9 1110100 (6)檢查碼計算方式為1000減去前12碼之奇數碼和與偶數碼和*3 後,除以10取餘數。假設各碼依次為ABCDEFGHIJKLM,則 M = (1000 - (A+C+E+G+I+K) - (B+D+F+H+J+L)*3) % 10 3.EAN-8碼 (1)護線+4個資料碼+中線+3個資料碼+檢查碼+護線 , 共佔67條線。 (2)資料只能為0~9之數字,連同檢查碼共8碼。 (3)左資料以A組方式編碼,右資料同EAN-13碼。 (4)檢查碼為1000減去前7碼之奇數碼和*3與偶數碼和後,除以 10取餘數。假設各碼依次為ABCDEFGH,則 H = (1000 - (A+C+E+G)*3 - (B+D+F)) % 10 4.UPC-A碼 (1)同EAN-13碼,但首碼必須固定為0。 5.UPC-E碼 (1)左護線+6個資料碼+右護線,共佔51條線。 (2)資料只能為0~9之數字,連同檢查碼共8碼。 (3)資料碼依檢查碼有不同編碼方式,各檢查碼對應的資料編 碼方式如下: 0 BBBAAA 1 BBABAA 2 BBAABA 3 BBAAAB 4 BABBAA 5 BAABBA 6 BAAABB 7 BABABA 8 BABAAB 9 BAABAB AB兩組編碼方式同EAN-13碼。 (4)檢查碼計算方式如下: 0ABCDEFM : M = (1000 - (A+D+F) - (B+C+E)*3) % 10 F = 0~2 0ABCDE3M : M = (1000 - (A+C+D) - (B+E)*3) % 10 0ABCDE4M : M = (1000 - (A+C) - (B+D+E)*3) % 10 0ABCDEFM : M = (1000 - (A+C+E) - (B+D+F)*3) % 10 F = 5~9 (5)左護線101,右護線010101。 6.交錯式25碼 (1)起始碼+資料碼+終止碼。 (2)資料只能為0~9之數字,且必須偶數個,不足時前面補0。 (3)編碼資料(每碼有5條,其中2條為粗,各佔7線,位元0為細, 1為粗): 0 00110 1 10001 2 01001 3 11000 4 00101 5 10100 6 01100 7 00011 8 10010 9 01010 實際編碼時,以2個資料之位元交錯放置,在奇數位者為黑, 偶數位者為白。 (4)起始碼0000,終止碼100。 7.CODABAR碼(又稱NW-7碼) (1)起始碼+資料碼+終止碼。 (2)資料只能為0~9、/+-*$.:等資料,且連同起始碼和終止碼, 最長為32個資料。起始碼和終止碼必須為A~D。 (3)編碼資料(每碼有7條,以下各位元奇數位為黑,偶數位為 白,0為細,1為粗) 0 0000011 1 0000110 2 0001001 3 1100000 4 0010010 5 1000010 6 0100001 7 0100100 8 0110000 9 1001000 $ 0011000 - 0001100 A 0011010 B 0101001 C 0001011 D 0001110 + 0010101 . 1010100 : 1000101 / 1010001 * 1010101 各資料碼之間必須空開一條白線。 8.128碼 (1)起始碼+資料碼+終止碼+〔檢查碼〕。 (2)資料可為ASCII 0~127之字元,長度最長30個資料。 (3)檢查碼略(一般不加)。 (4)有三種編碼方式: A類:ASCII 0~95。 B類:ASCII 32~127。 C類:數字00~99。 其中ASCII 0~31對應編碼索引為64~95,ASCII 32~95對 應編碼索引為0~63,ASCII 96~127對應編碼索引為64~95, C類數字直接對應至編碼索引。 (5)各編碼索引對應之編碼值如下(0表白線,1表黑線,各佔 11條線): 00 11011001100 01 11001101100 02 11001100110 03 10010011000 04 10010001100 05 10001001100 06 10011001000 07 10011000100 08 10001100100 09 11001001000 10 11001000100 11 11000100100 12 10110011100 13 10011011100 14 10011001110 15 10111001100 16 10011101100 17 10011100110 18 11001110010 19 11001011100 20 11001001110 21 11011100100 22 11001110100 23 11101101110 24 11101001100 25 11100101100 26 11100100110 27 11101100100 28 11100110100 29 11100110010 30 11011011000 31 11011000110 32 11000110110 33 10100011000 34 10001011000 35 10001000110 36 10110001000 37 10001101000 38 10001100010 39 11010001000 40 11000101000 41 11000100010 42 10110111000 43 10110001110 44 10001101110 45 10111011000 46 10111000110 47 10001110110 48 11101110110 49 11010001110 50 11000101110 51 11011101000 52 11011100010 53 11011101110 54 11101011000 55 11101000110 56 11100010110 57 11101101000 58 11101100010 59 11100011010 60 11101111010 61 11001000010 62 11110001010 63 10100110000 64 10100001100 65 10010110000 66 10010000110 67 10000101100 68 10000100110 69 10110010000 70 10110000100 71 10011010000 72 10011000010 73 10000110100 74 10000110010 75 11000010010 76 11001010000 77 11110111010 78 11000010100 79 10001111010 80 10100111100 81 10010111100 82 10010011110 83 10111100100 84 10011110100 85 10011110010 86 11110100100 87 11110010100 88 11110010010 89 11011011110 90 11011110110 91 11110110110 92 10101111000 93 10100011110 94 10001011110 95 10111101000 96 10111100010 97 11110101000 98 11110100010 99 10111011110 (6)起始碼 (11線) A類 = 11010000100 B類 = 11010010000 C類 = 11010011100 終止碼 (13線) = 1100011101011 (7)中途更換編碼類別(故可多種編碼方式): 轉A類 = 11101011110 轉B類 = 10111101110 轉C類 = 10111011110 參考文獻:"條碼製作入門與實例應用",徐紹文編著,靖宇。 測試形式:1.39碼: -$01234.56789% THIS AT+BEDCFG JKLMNOPQRUVWXYZ/ 2.EAN-13碼: 001234501234 167081256789 290341513579 323678424680 459670101234 582390456789 615672313579 748596024680 871823901234 904516256789 3.EAN-8碼 0123678 4567012 8901345 2345901 4.UPC-A碼 - 同EAN-13碼。 5.UPC-E碼 00000000 01011111 02620022 03034933 04442044 05550555 06680466 07710377 08840288 09970199 6.交錯式25碼 123456789 1032547698 7.CODABAR碼(又稱NW-7碼) 0123456789 *$-+.:/ (86/07/07測試結果,*:/三個字掃不出來) 8.128碼 ABCDEFGHIJKLMNOPQRSTUVWXYZ`ab 6465661!"#$%&'()*+,-./67686970 cdefghijklmnopqrstuvwxyz{|}~ 95969798997172737475767778790 808182838485868788899091929394 2 3:4;5<6=7>8?9@[\]^_ -- 青衫詩客 - 小邱.