条形码之三九码.docx

上传人:b****2 文档编号:2319950 上传时间:2022-10-28 格式:DOCX 页数:28 大小:599.75KB
下载 相关 举报
条形码之三九码.docx_第1页
第1页 / 共28页
条形码之三九码.docx_第2页
第2页 / 共28页
条形码之三九码.docx_第3页
第3页 / 共28页
条形码之三九码.docx_第4页
第4页 / 共28页
条形码之三九码.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

条形码之三九码.docx

《条形码之三九码.docx》由会员分享,可在线阅读,更多相关《条形码之三九码.docx(28页珍藏版)》请在冰豆网上搜索。

条形码之三九码.docx

条形码之三九码

条形码之三九码(上)

(附两三种制作方法)

一、39码简介

  39码是1974年发展出来的条码,是一种可供使用者双向扫描的分散式条码,也就是说两个资料码之间,必须包含一个不具任何意义的空白(或细白,其逻辑值为0),但其具有支援文字的能力,帮应用较一般条码广泛。

三九码仅有两种单元宽度,分别为宽单元和窄单元。

宽单元的宽度为窄单元的1到3倍,一般多选用2倍、2.5倍或3倍。

三九码的每一个条码字符由九个单元组成,其中有三个宽单元,其余是窄单元,因此称为三九码。

目前主要应用于工业产品、商业资料及医院的保健资料,它的最大优点是条码的长度没有强制的限定,可用大写英文字母码,且检查码可忽略不计。

39码还有编码规则简单、误码率低、所能表示字符个数多等特点,因此在各个领域有着极为广泛的应用。

我国也制定了相应的国家标准(GB/T12908-91)。

二、39码的特性

  标准的39码是由起始安全空间、起始码、资料码、可忽略不计的检查码、终止安全空间及终止码所构成,其所编成的39码如图所示。

综合来说,39码有以下特性:

o       条码的长度没有限制,可随着需求作弹性调整。

但在规划长度的大小时,应考虑条码扫描器能允许的范围,避免条码扫描器无法读取完整的资料。

o       起始码和终止码必须固定为“*”字元。

o       允许条码扫描器进行双向的扫描处理。

o       由于39码具有自我检查能力,故检查码可有可无。

o       条码占用空间比较大。

o       可表示的资料包含有0-9的数字,A-Z的英文字母,以及“+”、“-”、“*”、“/”、“%”、“$”、“.”等特殊字符,再加上空白字元“”,共计44组编码,并可组合出128个ASCIICODE的字元符号,如表所示。

表:

ASCIIDODE字元符号与39码对照表

ASCII

CODE39

ASCII

CODE39

ASCII

CODE39

ASCII

CODE39

NUL

%U

SP

Space

@

%V

%W

SOH

$A

!

/A

A

A

a

+A

STX

$B

/B

B

B

b

+B

ETX

$C

#

/C

C

C

C

+C

EOT

$D

$

/D

D

D

B

+D

ENQ

$E

%

/E

E

E

E

+E

ACK

$F

/F

F

F

F

+F

BEL

$G

/G

G

G

G

+G

BS

$H

/H

H

H

H

+H

HT

$I

/I

I

I

I

+I

LF

$J

*

/J

IJ

J

J

+J

VT

$K

+

/K

K

K

k

+K

FF

$L

/L

L

L

l

+L

CR

$M

-

.

M

M

M

+M

SO

$N

.

/0

N

N

N

+N

SI

$O

/

0

O

O

O

+O

DLE

$P

0

0

P

P

P

+P

DC1

$Q

1

1

Q

Q

Q

+Q

Dc2

$R

2

2

R

R

R

+R

Dc3

$S

3

3

S

S

S

+S

DC4

$T

4

4

T

T

T

+T

NAK

$U

5

5

U

U

U

+U

SYN

$V

6

6

V

V

V

+V

ETB

$W

7

7

W

W

W

+W

CAN

$X

8

8

X

X

X

+X

EM

$Y

9

9

Y

Y

Y

+Y

SUB

$Z

:

/Z

Z

Z

Z

+Z

ESC

%A

;

%F

[

%K

{

%Q

FS

%B

%G

"

%L

/

%R

GS

%C

=

%H

]

%M

}

%S

RS

%D

%I

^

%N

~

%T,%X

US

%E

?

%J

-

%0

DEL

%Y,%Z

三、39码编码方式

  39码的每一个字元编码方式都是籍由九条不同排列的线条编码而得。

可区分以下四种类型,如表所示。

表:

39码字元编码方式

类别

线条形态

逻辑形态

线条数目

粗黑线

11

2

细黑线

1

1

粗白线

00

2

细白线

0

1

英文字母部分

  26个英文字母所对应的39码如表所示。

表:

39码编码对应表(英文字母部分)

字元

逻辑形态

字元

逻辑形态

A

110101001011

N

101011010011

B

101101001011

O

110101101001

C

110110100101

P

101101101001

D

101011001011

Q

101010110011

E

110101100101

R

110101011001

F

101101100101

S

101101011001

G

101010011011

T

101011011001

H

110101001101

U

110010101011

I

101101001101

V

100110101011

J

101011001101

W

110011010101

K

110101010011

X

100101101011

L

101101010011

Y

110010110101

M

110110101001

Z

100110110101

数字与特殊符号部分

  39码也可以表示数字0-9以及特殊符号,其对应的逻辑值如表所示。

表:

39码编码对应表(英文字母部分)

字元

逻辑形态

字元

逻辑形态

0

101001101101

+

100101001001

1

110100101011

 

100101011011

2

101100101011

*

100101101101

3

110110010101

/

100100101001

4

101001101011

%

101001001001

5

110100110101

$

100100100101

6

101100110101

.

110010101101

7

101001011011

空白

100110101101

8

110100101101

 

 

9

101100101101

 

 

四、检查码的计算

  39码中的检查码部分,并不是必要的部分,可依实际需要,决定加入与否,但在一般的情况下通常多半是予以省略不印,以减少编码的长度与扫描的时间。

39码的检查码计算必须先利用表(检查码相对值对照表)将编码字元的相对值查出,将查出的相对值累加后再除以43,得到的余数在查出相对的编码字元,即为检查码字元。

例如,要算出*S123$5*这笔资料的检查码,其计算过程如下:

S的相对值为28

;1的相对值为1

2的相对值为2

;3的相对值为3

$的相对值为39

;5的相对值为5

步骤二将各相对值累加除以43

累加相对值=28+1+2+3+39+5=78

78/43=1.35

步骤三检查出余数相对编码字元

余数=35

查表,得到相对值35之编码字元为Z故,

检查码=Z,得

含检查码在内的39码,为:

*S123$5Z*

39码的检查码查询表

编码字元

相对值

编码字元

相对值

0

0

F

15

1

1

G

16

2

2

H

17

3

3

I

18

4

4

J

19

5

5

K

20

6

6

L

21

7

7

M

22

8

8

N

23

9

9

O

24

A

10

P

25

B

11

Q

26

C

12

R

27

D

13

S

28

E

14

T

29

五、三九码的制作方法

  1.在Excel中制作39码

    

(1)安装字体3of9.TTF(网络上很多,可先下载该字体.即把3of9.ttf复制到C:

"WINDOWS"Fonts中)

 

   

(2)在Excel单元格中输入39码,然后前后加*号,再选择字体(3of9Barcode)

      选择字体前如图:

 

 

选择字体后如图:

 

 

2.     在C#操作Excel处理三九码(code39)

(1)   安装字体3of9.TTF

(2)   添加引用,如图

 

 

(3)   编程:

(只对在EXCEL实现三九码作简单介绍)

usingSystem;

usingSystem.Reflection;

usingSystem.Runtime.InteropServices;

usingMicrosoft.Office.Interop.Excel;

 

namespaceExcel

{

   ///

   ///Class1

   ///

   classClass1

   {

       ///

       ///Excel

       ///

       [STAThread]

       publicstaticvoidMain(string[]args)

       {

           Applicationexc=newApplication();

 

           if(exc==null)

           {

               Console.WriteLine("Error:

Excelcouldn'tbestarted!

");

               return;

           }

           exc.Visible=true;

           Workbooksworkbooks=exc.Workbooks;

           _Workbookworkbook=workbooks.Add(XlWBATemplate.xlWBATWorksheet);

           Sheetssheets=workbook.Worksheets;

           _Worksheetworksheet=(_Worksheet)sheets.get_Item

(1);

           Ranger=worksheet.get_Range("A1","A1");

           r.ColumnWidth=30;

           r.Value2="*12345ABCD*";

           r.Font.Name="3of9Barcode";    

       }

   }

}

运行结果:

 

3.     用.NET自带的报表服务System.Drawing.ReportDocument时,

 如果2.

(1),

(2)然

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1