(本文章擷取於 Andy 的條碼世界)

  為什麼叫做 Code 3 of 9(簡稱 Code 39)呢? 很簡單!即一字元由5條黑色線條(簡稱Bar),4條白色線條(簡稱Space),總共9條線所組成,裡頭有3條是粗的線條,如下圖所示.
                                           "1"表示粗線條,"0"表細線條
  


  Code 39條碼分為標準型Code 39(Standard Code 39)及完全型Code 39(Full ASCII Code 39).

  標準型Code 39表示的資料內容,包括有A~Z大寫英文字母,0~9數字,以及一些特殊符號,共計有44個字元.

  而Full ASCII Code 39除上述標準型Code 39之44個字元外,再搭配,"/","%","$","+"等前置符號即可擴充成128個字元(含一個起始和結束字元).

例如   標準形Code 39無英文字母小寫,只有大寫
           若大寫前加上一個"+",就變成英文小寫
            +A -------> a
            +B -------> b

詳細全部的Full ASCII Code 39字元,列於Code 39 Full ASCII表


   Code 39編碼方式

   Code 39條碼只有二種粗細比例線,也就是說較粗的線條是細線條的2~3倍,舉例說明白一點,如下圖示.

                                  若細條碼長度x=1mm時,則粗條碼長度應為R=2mm ~ 3mm之間才適當.

  線條列印的比例很重要,若誤差值太大,將會影響條碼讀取器的正確性,甚至不會解碼(Decoding),這一點必須注意.


           以下是Standard Code 39字元與條碼圖案的相對一覽表.

          
   



字元與相對值一覽表
 

字元

相對值

字元

相對值

0

0

L

21

1

1

M

22

2

2

N

23

3

3

O

24

4

4

P

25

5

5

Q

26

6

6

R

27

7

7

S

28

8

8

T

29

9

9

U

30

A

10

V

31

B

11

W

32

C

12

X

33

D

13

Y

34

E

14

Z

35

F

15

-

36

G

16

.

37

H

17

space

38

I

18

$

39

J

19

/

40

K

20

+

41

 

 

%

42

 

   Code 39檢查碼  
 
    
Code 39的檢查碼,可列印可不列印,端看使用者取捨.
以下為獲得檢查碼之步驟:

步驟一.假設有一Code 39條碼為 "ANDY"
步驟二.將各字元相對值相加總 10+23+13+34=80
步驟三.用基數43去除加總,取得餘數 80/43=1....37
              37即check digit之相對值.
步驟四.取相對值之對應值,即為check digit之字元   37-->"."

因此加入check digit之條碼為 "ANDY."
               

   Code 39特性綜合說明

1.Code 39起始碼/結束碼為"*".
2.資料字元數總共有43個,搭配"/","%","+","$",可擴展成
   Full ASCII Code 39字元數變成128個.
3.每一字元間有一間隙Gap區隔開來.
4.檢查碼(Check Digit)由計算公式而得.
5.檢查碼(Check Digit)可列印可不列印.
6.條碼長度較長,列印允許長度有限制,易超過條碼讀取機
   所能讀取之寬度.