教你看懂Code128条形码

当前位置:条形码控件网 > 条形码控件技术文章 > >正文

教你看懂Code128条形码

发布时间:2014-10-28

Code128码分成三类,即128A、128B、128C。它们的区别就是对应的字符表不一样。

那么Code128码到底怎么读呢?请看下面的图:

从左往右是黑白相间的条形码,黑的叫“条”(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 。

有了这些知识,我们就可以尝试去写一个程序去生成条形码和识别条形码。

其实生成是比较简单的,而识别就比较麻烦了。通常超市是使用条码枪,通过光学原理来条码识别的,因为黑白条纹的反光特性不一样。

要是用软件对图像进行识别,会有些麻烦。但是,这正是我们要做的。

附:

Code128 字符表:

可以看出从0-63这前64个字符中A类和B类是一样的。

其中有些控制字符,比如CodeA表示此字段下一个个块临时使用Code128A的字符表中的字符。

还有一些其他的,不是很常见,有兴趣的朋友可以参考GBT 15425-2002 EAN UCC系统 128条码 标准。

注:ABC分别为128A类,128B类,128C类的字符表。有些B类的字符为空表示和A类的一样。

B,S,B,S,B,S// A    B    C

2,1,2,2,2,2,// sp          00

2,2,2,1,2,2,// !           01

2,2,2,2,2,1,// "           02

1,2,1,2,2,3,// #           03

1,2,1,3,2,2,// $           04

1,3,1,2,2,2,// %           05

1,2,2,2,1,3,// &           06

1,2,2,3,1,2,// ...         07

1,3,2,2,1,2,// (           08

2,2,1,2,1,3,// )           09

2,2,1,3,1,2,// *           10

2,3,1,2,1,2,// +           11

1,1,2,2,3,2,// ,           12

1,2,2,1,3,2,// -           13

1,2,2,2,3,1,// .           14

1,1,3,2,2,2,// /           15

1,2,3,1,2,2,// 0           16

1,2,3,2,2,1,// 1           17

2,2,3,2,1,1,// 2           18

2,2,1,1,3,2,// 3           19

2,2,1,2,3,1,// 4           20

2,1,3,2,1,2,// 5           21

2,2,3,1,1,2,// 6           22

3,1,2,1,3,1,// 7           23

3,1,1,2,2,2,// 8           24

3,2,1,1,2,2,// 9           25

3,2,1,2,2,1,// :           26

3,1,2,2,1,2,// ;           27

3,2,2,1,1,2,// <           28

3,2,2,2,1,1,// =           29

2,1,2,1,2,3,// >           30

2,1,2,3,2,1,// ?           31

2,3,2,1,2,1,// @           32

1,1,1,3,2,3,// A           33

1,3,1,1,2,3,// B           34

1,3,1,3,2,1,// C           35

1,1,2,3,1,3,// D           36

1,3,2,1,1,3,// E           37

1,3,2,3,1,1,// F           38

2,1,1,3,1,3,// G           39

2,3,1,1,1,3,// H           40

2,3,1,3,1,1,// I           41

1,1,2,1,3,3,// J           42

1,1,2,3,3,1,// K           43

1,3,2,1,3,1,// L           44

1,1,3,1,2,3,// M           45

1,1,3,3,2,1,// N           46

1,3,3,1,2,1,// O           47

3,1,3,1,2,1,// P           48

2,1,1,3,3,1,// Q           49

2,3,1,1,3,1,// R           50

2,1,3,1,1,3,// S           51

2,1,3,3,1,1,// T           52

2,1,3,1,3,1,// U           53

3,1,1,1,2,3,// V           54

3,1,1,3,2,1,// W           55

3,3,1,1,2,1,// X           56

3,1,2,1,1,3,// Y           57

3,1,2,3,1,1,// Z           58

3,3,2,1,1,1,// [           59

3,1,3,1,1,1,//            60

2,2,1,4,1,1,// ]           61

4,3,1,1,1,1,// ^           62

1,1,1,2,2,4,// _           63

1,1,1,4,2,2,// NUL   ‘     64

1,2,1,1,2,4,// SOH   a     65

1,2,1,4,2,1,// STX   b     66

1,4,1,1,2,2,// ETX   c     67

1,4,1,2,2,1,// EOT   d     68

1,1,2,2,1,4,// ENQ   e     69

1,1,2,4,1,2,// ACK   f     70

1,2,2,1,1,4,// BEL   g     71

1,2,2,4,1,1,// BS    h     72

1,4,2,1,1,2,// HT    i     73

1,4,2,2,1,1,// LF    j     74

2,4,1,2,1,1,// VT    k     75

2,2,1,1,1,4,// FF    l     76

4,1,3,1,1,1,// CR    m     77

2,4,1,1,1,2,// SO    n     78

1,3,4,1,1,1,// SI    o     79

1,1,1,2,4,2,// DLE   p     80

1,2,1,1,4,2,// DC1   q     81

1,2,1,2,4,1,// DC2   r     82

1,1,4,2,1,2,// DC3   s     83

1,2,4,1,1,2,// DC4   t     84

1,2,4,2,1,1,// NAK   u     85

4,1,1,2,1,2,// SYN   v     86

4,2,1,1,1,2,// ETB   w     87

4,2,1,2,1,1,// CAN   x     88

2,1,2,1,3,1,// EM    y     89

2,1,4,1,2,1,// SUB   z     90

4,1,2,1,2,1,// ESC   {     91

1,1,1,1,4,3,// FS    |     92

1,1,1,3,4,1,// GS    }     93

1,3,1,1,4,1,// RS    ~     94

1,1,4,1,1,3,// US    DEL   95

1,1,4,3,1,1,// FNC3  FNC3  96

4,1,1,1,1,3,// FNC2  FNC2  97

4,1,1,3,1,1,// SHIFT SHIFT 98

1,1,3,1,4,1,// CodeC CodeC 99

1,1,4,1,3,1,// CodeB FNC4  CodeB

3,1,1,1,4,1,// FNC4  CodeA CodeA

4,1,1,1,3,1,// FNC1  FNC1  FNC1

2,1,1,4,1,2,//      StartA

2,1,1,2,1,4,//      StartB

2,1,1,2,3,2,//      StartC

2,3,3,1,1,1,2,//     Stop

-->

推荐产品

条形码控件新闻

更多

条形码控件开发代码

更多

北京龙博中科软件有限公司旗下网站

站长统计

分享到

分享到:

时间: 2024-12-13 18:17:43

教你看懂Code128条形码的相关文章

如何看懂Code128条形码

条形码就是我们看到的商品上有的那些竖条条. 要不是项目上用到这个或许我一辈子也不会对那个感兴趣. 条形码其实是分成很多类的,虽然他们看起来都差不多…… 常见的条形码的码制被称为39码.128码.417码等等. 我今天主要讲的是128码即CODE128. Code128码其实还分成三类,即128A.128B.128C.它们的区别就是对应的字符表不一样. 那么Code128码到底怎么读呢?请看下面的图: 从左往右是黑白相间的条形码,黑的叫“条”(B),白的叫“空”(S). 如果你仔细看,条和空都有4

如何教你看懂复杂的正则表达式

[前言] 1.此文针对,正则表达式的初学者,老鸟请飘过. 正则表达式的初学者,常遇到的情况是,对于相对复杂一点的正则表达式,觉得很难理解,很难看懂. 2.此文目的,之前你看不懂,看了此教程后,就基本掌握了,看懂复杂正则表达式的思路. 这样就可以通过自己的能力,一点点把复杂的正则表达式,一点点拆分,一点点分析,知道完全理解. 3.在看此文之前,肯定需要你本身对于正则表达式,已经有了一些基本的基础, 比如知道点’.’表示任意字符,星号’*’表示0或多个之类的含义,这样才有看此文的基础. 关于正则表达

教你看懂Excel密码破解工具结果对话框

Excel文档的密码可谓是Office所有产品中最复杂的,密码类型最多,还涉及密保程度较高的VBA密码.自然而然Excel密码破解工具的结果对话框也是稍微复杂,用户可能会看不懂其中的内容,下面将教你如何快速秒懂Excel密码破解工具的结果对话框. 解读Excel密码破解工具结果对话框 在Excel密码破解工具破解过程结束之后,不管是否破解成功,系统都会弹出密码对话框,对话框上的信息都是对此次密码破解结果的展示,破解成功的结果对话框如下图所示: Excel密码破解工具结果对话框的第一部分是密码区,

教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏

早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要是以注释的形式). 我用C写一个功能基本齐全的俄罗斯方块的话,大约需要1000行代码的样子.所以60行乍一看还是很让人吃惊的. 但是读懂了代码之后发现其实整个程序并没有使用什么神秘的技术,只不过是利用一些工具或者JavaScript本身的技巧大大简化了代码. 总结起来主要是以下三点 1.使用eval来产生JavaScript代码,减小了代码体积 2.以字符串作为

教你看懂 OpenStack 日志 - 每天5分钟玩转 OpenStack(29)

instance 从创建到删除的整个生命周期都是由 Nova 管理的. 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析加深大家对 Nova 的理解. 在研究 Nova 各个操作之前,我们先来学习一个重要的内容:OpenStack 日志.OpenStack 的日志记录了非常详细的细节信息,是我们学习和 troubleshoting 的利器. 日志的位置 我们实验环境使用的是 devstack,日志都统一放在 /opt/st

0基础:教你看懂HTML5

版权声明:本文为北京爱创课堂原创文章,未经允许不得转载. 如果你对C语言.网站制作等技术没有什么了解,你可以查看这篇文章.无论你是唱歌的艺术生,还是学习机械专业的工科生,或者大学读的文学学科.只要你平时上网,你看完这篇文章之后,相信你一定能够对HTML5有一个基本的认识. HTML5是做什么的? 极其简单的概括:用于实现我们能够看到的所有网站,但是不涉及到数据层面(也就是负责将一张设计好的网页图片(设计师的工作),用代码实现出来,在一个地方放置个块,给一个块设置颜色,调整字体大小,让图片动起来等

一个故事教你看懂什么是数字证书,它的原理是什么?它的作用是什么?

原创地址:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html 1.基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容. 1.1.公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密算法,它的加密解密过程如下: 加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文.加密过程需要用到公钥. 解密:通过解密算法和私钥对密文进行解密,得到明文

10分钟教你看懂mongodb的npm包

最近刚开始接触node.js,在做一个博客,在学习过程中,肯定是接触了不少npm的包,主要就是学习使用它的API.现在所写的就是关于mongodb的使用.首先mongodb这个包是用来提供连接和操作mongdb这个数据库的包,如果你的后台数据库是采用的mongodb那么我们将要用到这个包. 首先我们在npm中去搜索这个包,就是第一个 我们点进去去看他的具体信息,我们直接看它的API手册 然后该文档的主页介绍了里面的一些资源文件(js文件)的大致作用:http://mongodb.github.i

教Alexa看懂手语,不说话也能控制语音助手

Alexa.Siri.小度--各种语音助手令人眼花缭乱,但这些设备多是针对能力健全的用户,忽略了听.说能力存在障碍的人群.本文作者敏锐地发现了这一 bug,并训练亚马逊语音助手 Alex 学会识别美式手语.项目发布之后受到社交媒体的热捧.本博文将介绍项目的底层技术以及如何使用 TensorFlow.js 构建该系统. 数月前的某个夜晚,我躺在床上时,一个念头闪过我的脑海--「如果语音是计算接口的未来,那么那些听不见或看不见的人该怎么办?」我不知道究竟是什么触发了这个想法.我自己能听.能说,周围也