一维条形码 code128 的全面介绍

0:code128,编码格式:


Code128A字符集 包括大写字母、数字、常用标点符号和一些控制符。

Code128B字符集 包括大小写字母、数字、常用标点符号。

Code128C字符集 为纯数字序列。

Code128Auto 是将上述三种字符集最佳优化组合。


1:Code128编码规则:开始位 + [FNC1(为EAN128码时加)] + 数据位 + 检验位 + 结束位


2:条形码如何读取:

请看下面的图:


从左往右是黑白相间的条形码,黑的叫“条”(B),白的叫“空”(S)。
如果你仔细看,条和空都有4种不同的宽度。我们将它从细到粗赋予1、2、3、4这几个值。
然后我们开始按照粗细的值来阅读条码、结果如下:
211232231131221213131222212222221224121213121211321132331112
注意这个结果是黑白相间的。别只顾着读“条”忘了都空。这边总共有61位。
Code128码有一个头一个尾。
尾总是2331112,这代表Code128已经结束。其余的部分是6位为一个块,包括头。
头有3种:A)211412 B)211214 C)211232 。这分别表示此Code128是什么类型的。(ABC其中一种)
我们将我们读出来的码,去掉头和尾,重新分一次块:
231131 | 221213 | 131222 | 212222 | 221224 | 121213 | 121211 | 32113
正好是6位为一块。其中最后一个块(除去尾段)是校验位,用于检查该条形码是否被正确编码。
然后,我们有一个字符表。(应该说是我有这张表)这张字符对应各个编号是表示的什么。
我们这个是Code128C型。C型码是纯数字的,每个块对应2位数字。
查表可得 50 09 05 00 01 91 91 。
有了这些知识,我们就可以尝试去写一个程序去生成条形码和识别条形码。
其实生成是比较简单的,而识别就比较麻烦了。通常超市是使用条码枪,通过光学原理来条码识别的,因为黑白条纹的反光特性不一样。
要是用软件对图像进行识别,会有些麻烦。但是,这正是我们要做的。

3:生成条码:

可以通过js来生成条码,这里面可以制定是A,B,C 哪一种 http://blog.csdn.net/rodulf/article/details/51276889

也可以通过在线生成:http://www.qinms.com/webapp/barcode/index.aspx


4:两种生成条码的方法是使用的不同的算法的:

例如:

一维条形码 code128 的全面介绍_第1张图片

通过js 来生成的:

一维条形码 code128 的全面介绍_第2张图片


通过js生成的:

一维条形码 code128 的全面介绍_第3张图片



Code128编码表:

ID

Code128A

Code128B

Code128C

BandCode

编码值

0

SP 

SP

0

212222

bbsbbssbbss

1

!

!

1

222122

bbssbbsbbss

2

"

"

2

222221

bbssbbssbbs

3

#

#

3

121223

bssbssbbsss

4

$

$

4

121322

bssbsssbbss

5

%

%

5

131222

bsssbssbbss

6

&

&

6

122213

bssbbssbsss

7

'

'

7

122312

bssbbsssbss

8

(

(

8

132212

bsssbbssbss

9

)

)

9

221213

bbssbssbsss

10

*

*

10

221312

bbssbsssbss

11

+

+

11

231212

bbsssbssbss

12

,

,

12

112232

bsbbssbbbss

13

-

-

13

122132

bssbbsbbbss

14

.

.

14

122231

bssbbssbbbs

15

/

/

15

113222

bsbbbssbbss

16

0

0

16

123122

bssbbbsbbss

17

1

1

17

123221

bssbbbssbbs

18

2

2

18

223211

bbssbbbssbs

19

3

3

19

221132

bbssbsbbbss

20

4

4

20

221231

bbssbssbbbs

21

5

5

21

213212

bbsbbbssbss

22

6

6

22

223112

bbssbbbsbss

23

7

7

23

312131

bbbsbbsbbbs

24

8

8

24

311222

bbbsbssbbss

25

9

9

25

321122

bbbssbsbbss

26

:

:

26

321221

bbbssbssbbs

27

;

;

27

312212

bbbsbbssbss

28

28

322112

bbbssbbsbss

29

=

=

29

322211

bbbssbbssbs

30

30

212123

bbsbbsbbsss

31

?

?

31

212321

bbsbbsssbbs

32

@

@

32

232121

bbsssbbsbbs

33

A

A

33

111323

bsbsssbbsss

34

B

B

34

131123

bsssbsbbsss

35

C

C

35

131321

bsssbsssbbs

36

D

D

36

112313

bsbbsssbsss

37

E

E

37

132113

bsssbbsbsss

38

F

F

38

132311

bsssbbsssbs

39

G

G

39

211313

bbsbsssbsss

40

H

H

40

231113

bbsssbsbsss

41

I

I

41

231311

bbsssbsssbs

42

J

J

42

112133

bsbbsbbbsss

43

K

K

43

112331

bsbbsssbbbs

44

L

L

44

132131

bsssbbsbbbs

45

M

M

45

113123

bsbbbsbbsss

46

N

N

46

113321

bsbbbsssbbs

47

O

O

47

133121

bsssbbbsbbs

48

P

P

48

313121

bbbsbbbsbbs

49

Q

Q

49

211331

bbsbsssbbbs

50

R

R

50

231131

bbsssbsbbbs

51

S

S

51

213113

bbsbbbsbsss

52

T

T

52

213311

bbsbbbsssbs

53

U

U

53

213131

bbsbbbsbbbs

54

V

V

54

311123

bbbsbsbbsss

55

W

W

55

311321

bbbsbsssbbs

56

X

X

56

331121

bbbsssbsbbs

57

Y

Y

57

312113

bbbsbbsbsss

58

Z

Z

58

312311

bbbsbbsssbs

59

[

[

59

332111

bbbsssbbsbs

60

\

\

60

314111

bbbsbbbbsbs

61

]

]

61

221411

bbssbssssbs

62

^

^

62

431111

bbbbsssbsbs

63

_

_

63

111224

bsbssbbssss

64

NUL

`

64

111422

bsbssssbbss

65

SOH

a

65

121124

bssbsbbssss

66

STX

b

66

121421

bssbssssbbs

67

ETX

c

67

141122

bssssbsbbss

68

EOT

d

68

141221

bssssbssbbs

69

ENQ

e

69

112214

bsbbssbssss

70

ACK

f

70

112412

bsbbssssbss

71

BEL

g

71

122114

bssbbsbssss

72

BS

h

72

122411

bssbbssssbs

73

HT

i

73

142112

bssssbbsbss

74

LF

j

74

142211

bssssbbssbs

75

VT

k

75

241211

bbssssbssbs

76

FF

I

76

221114

bbssbsbssss

77

CR

m

77

413111

bbbbsbbbsbs

78

SO

n

78

241112

bbssssbsbss

79

SI

o

79

134111

bsssbbbbsbs

80

DLE

p

80

111242

bsbssbbbbss

81

DC1

q

81

121142

bssbsbbbbss

82

DC2

r

82

121241

bssbssbbbbs

83

DC3

s

83

114212

bsbbbbssbss

84

DC4

t

84

124112

bssbbbbsbss

85

NAK

u

85

124211

bssbbbbssbs

86

SYN

v

86

411212

bbbbsbssbss

87

ETB

w

87

421112

bbbbssbsbss

88

CAN

x

88

421211

bbbbssbssbs

89

EM

y

89

212141

bbsbbsbbbbs

90

SUB

z

90

214121

bbsbbbbsbbs

91

ESC

{

91

412121

bbbbsbbsbbs

92

FS

|

92

111143

bsbsbbbbsss

93

GS

}

93

111341

bsbsssbbbbs

94

RS

~

94

131141

bsssbsbbbbs

95

US

DEL

95

114113

bsbbbbsbsss

96

FNC3

FNC3

96

114311

bsbbbbsssbs

97

FNC2

FNC2

97

411113

bbbbsbsbsss

98

SHIFT

SHIFT

98

411311

bbbbsbsssbs

99

CODEC

CODEC

99

113141

bsbbbsbbbbs

100

CODEB

FNC4

CODEB

114131

bsbbbbsbbbs

101

FNC4

CODEA

CODEA

311141

bbbsbsbbbbs

102

FNC1

FNC1

FNC1

411131

bbbbsbsbbbs

103

StartA

StartA

StartA

211412

bbsbssssbss

104

StartB

StartB

StartB

211214

bbsbssbssss

105

StartC

StartC

StartC

211232

bbsbssbbbss

106

Stop

Stop

Stop

2331112

bbsssbbbsbsbb



Code128A字符集 包括大写字母、数字、常用标点符号和一些控制符。

Code128B字符集 包括大小写字母、数字、常用标点符号。

Code128C字符集 为纯数字序列。

你可能感兴趣的:(6,Android,常用第三方类库)