在线生成条形码(39码、EAN-13)
公司有个项目是使用实体刷卡的会员管理系统,并为其它系统如餐饮系统、美发厅管理系统等提供统一的会员注册与信息管理。暂定使用一维条形码卡。
一般来说,商品最常用的编码是EAN-13,而非商品(如图书馆会员卡,驾驶证条码等)一般使用39码。
在线测试地址:
http://xoyozo.net/Tools/EAN13
http://xoyozo.net/Tools/Code39
39码
39码比较简单,条码以“*”为起始符和终止符,见下图:
它所能表示的字符包括:0~9 的数字,大写 A~Z 的英文字母,「+」,「-」,「*」,「/」,「%」,「$」,「.」,以及空格符(Space)等,共44组编码。
39码表:“0”对应白色空位,“1”对应黑色线条。
字元 |
逻辑型态 |
字元 |
逻辑型态 |
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 |
字元 |
逻辑型态 |
字元 |
逻辑型态 |
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码生成的条形中,每个码之间有一个空位,经扫描枪测试,该空位与一个单位的线条宽度相等时,能确保被正确扫描。
代码见附件
EAN-13码
EAN-13码是由13位数字构成,其中最后一位为校验码:
左侧空白区 |
起始符 |
左侧数据符 |
中间分隔符 |
右侧数据符 |
校验符 |
终止符 |
右测空白区 |
9个模块 |
3个模块 |
42个模块 |
5个模块 |
35个模块 |
7个模块 |
3个模块 |
9个模块 |
校验码计算的步骤如下: 以 234235654652 为例:
数据码 |
校验码 |
||||||||||||
代码位置序号 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数字码 |
2 |
3 |
4 |
2 |
3 |
5 |
6 |
5 |
4 |
6 |
5 |
2 |
? |
偶数位 |
|
3 |
+ |
2 |
+ |
5 |
+ |
5 |
+ |
6 |
+ |
2 |
|
奇数位 |
2 |
+ |
4 |
+ |
3 |
+ |
6 |
+ |
4 |
+ |
5 |
① 从序号2开始,将所有偶数位的数字代码求和,得出S1; S1=3+2+5+5+6+2=23
② 从序号3开始,将所有奇数位的数字求和,得出S2; S2=2+4+3+6+4+5=24
③ S3=S1*3+S2; S3=23*3+24=93
④ C=10-(S3的个位数),得到校验码C的值。并且当S3的个位数为0时,C=0。 C=10-3=7
EAN码的编码规则:
数字符 |
左侧数据符 |
右侧数据符 |
|
A |
B |
C |
|
0 |
0001101 |
0100111 |
1110010 |
1 |
0011001 |
0110011 |
1100110 |
2 |
0010011 |
0011011 |
1101100 |
3 |
0111101 |
0100001 |
1000010 |
4 |
0100011 |
0011101 |
1011100 |
5 |
0110001 |
0111001 |
1001110 |
6 |
0101111 |
0000101 |
1010000 |
7 |
0111011 |
0010001 |
1000100 |
8 |
0110111 |
0001001 |
1001000 |
9 |
0001011 |
0010111 |
1110100 |
(关于左侧数据符,网络上的资料均显示A3及B6为6位数,经本人实践亲自查证,已修正)
起始符:101
中间分隔符:01010
终止符:101。
A、B、C中的“0”和“1”分别表示具有一个模块宽度的“空”和“条”。
因为左侧数据编码方式有两种,要按照前置码选其中一种,如表:
前置字符 |
左侧数据符编码规则的选择 |
|||||
0 |
A |
A |
A |
A |
A |
A |
1 |
A |
A |
B |
A |
B |
B |
2 |
A |
A |
B |
B |
A |
B |
3 |
A |
A |
B |
B |
B |
A |
4 |
A |
B |
A |
A |
B |
B |
5 |
A |
B |
B |
A |
A |
B |
6(中国) |
A |
B |
B |
B |
A |
A |
7 |
A |
B |
A |
B |
A |
B |
8 |
A |
B |
A |
B |
B |
A |
9 |
A |
B |
B |
A |
B |
A |
转载于:https://www.cnblogs.com/xoyozo/archive/2009/07/11/1520861.html
在线生成条形码(39码、EAN-13)相关推荐
- 在线生成条形码的解决方案(39码、EAN-13)
在线生成条形码的解决方案(39码.EAN-13) 在线生成条形码的解决方案(39码.EAN-13) 在线生成条形码的解决方案(39码.EAN-13) 公司有个项目是使用实体刷卡的会员管理系统,并为其它 ...
- [转]在线生成条形码(39码、EAN-13)
[转]在线生成条形码(39码.EAN-13) http://www.cnblogs.com/AllenCheung/archive/2009/07/12/1521931.html
- php+条形码在线怎么生成,php实现在线生成条形码示例分享(条形码生成器)
php实现在线生成条形码,可以做一个条形码生成器,大家参考使用吧 代码如下: define('IN_CB',true); include('header.php'); $keys = array('0 ...
- php+条形码在线怎么生成,[条形码生成器]php实现在线生成条形码例子分享
[条形码生成器]php实现在线生成条形码例子分享 分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/1/10 代码如下: define('IN_CB',true); incl ...
- 调用第三方api在线生成二维码
我写过一篇文章是java代码后端自己传入链接由本地代码生成二维码图片并保存在本地,今天我们实现调用第三方在线生成二维码 首先我们找到一个在线生成二维码的api接口,因为这样的api接口有许多,这里我提 ...
- php+条形码在线怎么生成,PHP_php实现在线生成条形码示例分享(条形码生成器),复制代码 代码如下: n - phpStudy...
php实现在线生成条形码示例分享(条形码生成器) define('IN_CB',true); include('header.php'); $keys = array('0','1','2','3', ...
- Asp.Net Core在线生成二维码
前言: 原先用zxing Code写过基于Winfrom的批量生成二维码工具,以及单个生成二维码工具:批量生成二维码Gihub源代码 今天尝试用QRCoder 加 Asp.Net Core 写了一个在 ...
- 免费在线生成二维码网站,支持二维码自定义
ToolBaox平台 工具盒子,一个专注于为用户提供 免费.工具.在线 服务的网站. ToolBaox平台:二维码生成器,免费在线生成二维码.可以支持二维码颜色.码眼.内容.logo自定义功能.支持批 ...
- 收款码在线生成系统源码 无限制
截图 收款码在线生成系统源码 无限制 说明 之后用过两个收款码生成系统,一个是收款啦,还有一个是优启梦收款码,前面一个用起来挺方便的,就是二维码识别得比较慢,自己想改接口但是没学过php也做不了什么. ...
- 在线生成二维码(微信)很好用
在线生成二维码(微信)很好用 http://cli.im/weixin posted @ 2016-12-06 15:34 Newman·Li 阅读( ...) 评论( ...) 编辑 收藏
最新文章
- linux的ftp服务器
- 单件模式(Singleton Pattern)
- [ant]通过Android命令自动编译出build.xml文件
- oracle 基础1
- bzoj2653: middle
- 【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解
- Qt文档阅读笔记-Threaded Fortune Server Example解析
- 解决CodeIgniter大量查询sql时占用内存大问题
- 百度之星资格赛,hdu 4825 XOR SUM
- JAVA中获得前一天的时间
- mysql语言翻译_SQL语句翻译成MYSQL查询
- 通过docker-composer启动容器nginx,并完成spring.boot的web站点端口转发
- 特殊字符 U+200X/
- Python Django 个人博客源码(附个人源码和网站参考)
- 计算机教室如何防火,校园防火及火灾逃生自救安全常识
- leetcode + 腾讯面试
- 2017lol服务器维修时间,LOL维护公告2017最新内容 英雄联盟今天更新到几点
- “瘦瘦”让健康管理流行起来
- 使用shopnc发送qq邮件遇到的坑
- 自动驾驶测试流程大全