第四节 Code 39 码 / 三九码
39码是西元1974年发展出来的条码系统,是一种可供使用者双向扫瞄的分散式条码,也就是说相临两资料码之间,必须包含一个不具任何意义的空白(或细白,其逻辑值为0),且其具有支援文数字的能力,故应用较一般一维条码广泛,目前较主要利用於工业产品、商业资料及医院用的保健资料,它的最大优点是码数没有强制的限定,可用大写英文字母码,且检查码可忽略不计。
标准的39码是由起始安全空间、起始码、资料码、可忽略不计的检查码、终止安全空间及终止码所构成(徐绍文,1985),以Z135+这个资料为例,其所编成的39码如图所示:
图 39码的结构
综合来说, 39码具有以下特性:
条码的长度没有限制,可随着需求作弹性调整。但在规划长度的大小时,应考虑条码阅读机所能允许的范围,避免扫瞄时无法读取完整的资料。
起始码和终止码必须固定为“ * ”字元。允许条码扫瞄器进行双向的扫瞄处理。由於39码具有自我检查能力,故检查码可有可无,不一定要设定。 条码占用的空间较大。
可表示的资料包含有:0~9的数字,A~Z的英文字母,以及“+”、“-”、“*”、“/”、“%”、“$”、“.”等特殊符号,再加上空白字元“ ”,共计44组编码,并可组合出128个ASCII CODE的字元符号,如表所示。
表 ASCII CODE字元符号与39码对照表

39码编码方式
叁九码的每一个字元编码方式,都是藉由九条不同排列的线条编码而得。可区分成如表之四种类型:
表 39码的字元编码方式

|
一) 英文字母部分 26个英文字母所对应的39码逻辑值如表所示。 表 39码编码对映表(英文字母部分)
(二) 数字与特殊符号部分 39码也可表示数字0~9以及特殊符号,其对应的逻辑值如表所示。 表 39码编码对映表(英文字母部分)
|
39码检查码的计算
39码的检查码必须搭配「检查码相对值对照表」,如表 5.4所示,将查出的相对值累加後再除以43,得到的馀数再查出相对的编码字元,即为检查码字元。
例如要算出 *S123$5* 这笔资料的检查码,其计算过程如下:
步骤1 参考检查码相对值对照表,找出编码字元相对值
参考下表,得到各编码字元的相对值为:
S 的相对值为28; 1 的相对值为1;
2 的相对值为 2; 3 的相对值为3;
$ 的相对值为39 ; 5 的相对值为5。
步骤2 将各相对值累加除以43
累加相对值=28+1+2+3+39+5=78
78 ÷ 43=1….35
步骤3 查出与馀数相对的编码字元
馀数=35,
查下表,得到相对值=35 之编码字元为 Z,
故 检查码=Z,得
含检查码在内的39码,为:*S123$5Z*
表 39码的检查码查询表

第四节 Code 39 码 / 三九码的更多相关文章
- 使用WPF动态生成Code 39条形码
最近在看些条形码方面相关的资料,而如果只是看的话,效果似乎并不怎么好,所以决定动手做点Demo,以增强对相关知识的记忆. 这里是一个我编写的使用WPF生成Code 39的例子,Code 39的编码很简 ...
- 一维码Code 39简介及其解码实现(zxing-cpp)
一维码Code 39:由于编制简单.能够对任意长度的数据进行编码.支持设备广泛等特性而被广泛采用. Code 39码特点: 1. 能够对任意长度的数据进行编码,其局限在于印刷品的长度和条码阅读器的识别 ...
- (zxing.net)一维码Code 39的简介、实现与解码
一.简介 一维码Code 39:由于编制简单.能够对任意长度的数据进行编码.支持设备广泛等特性而被广泛采用. Code 39码特点: 能够对任意长度的数据进行编码,其局限在于印刷品的长度和条码阅读器的 ...
- 四次元新浪微博客户端Android源码
四次元新浪微博客户端Android源码 源码下载:http://code.662p.com/list/11_1.html [/td][td] [/td][td] [/td][td] 详细说明:http ...
- 使用PHP QR Code生成二维码
使用PHP QR Code生成二维码 HP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址: http://phpqrcode.so ...
- Zookeeper 源码(四)Zookeeper 服务端源码
Zookeeper 源码(四)Zookeeper 服务端源码 Zookeeper 服务端的启动入口为 QuorumPeerMain public static void main(String[] a ...
- Android项目实战(四十四):Zxing二维码切换横屏扫描
原文:Android项目实战(四十四):Zxing二维码切换横屏扫描 Demo链接 默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候: <activity android:name=&q ...
- Source Code Structure - Python 源码目录结构
Source Code Structure - Python 源码目录结构 Include 目录包含了 Python 提供的所有头文件, 如果用户需要用 C 或 C++ 编写自定义模块扩展 Pytho ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
随机推荐
- (92) Is there a better crawler than Scrapy? - Quora
(92) Is there a better crawler than Scrapy? - Quora Is there a better crawler than Scrapy?Edit
- c 跟字符串有关的函数
1.字符串查找 strstr char * strstr(const char *s1, const char *s2); 在s1中查找s2,如果找到返回首个s2的首地址 char * strcase ...
- Mybaits入门之起航
前言 Mybaits技术现在很多公司都在使用,它提供了简单的API可以快速进行数据库操作,所以不管是自己做系统还是找工作都有必要了解一下. 学习一门技术如果是入门的话要么买书要么就是阅读官方的文档,而 ...
- SQL修炼道路上必看的书籍
1 SQL应用重构 9787111263586 2 SQL 必知必会(第3版) 9787115162601 3 SQL Server 2005高级程序设计 9787115170798 4 SQL 解惑 ...
- iOS网络开发-打造自己的视频客户端
一.展示实现 效果 客户端: 服务器端: 二.创建表 create table CourseV ...
- docNet基础学完感想
开学后的一个多月因为要准备acm省赛,所以docnet视频基本没看了!不过,虽然在省赛前每天都在做题,赛前刷了80多题吧!!但是比赛的时候就3题,渣啊!只做出了3个水题,后面两个小时搞两题就是出不来, ...
- 上一篇下一篇 排序 (非ID字段排序)
网上看了很多关于"上一篇下篇"的文章,可大都是按ID排序. 实际上,很少有按ID排序的. 分享下我的单独排序字段的写法,主要分为ms sql2000 和 ms 2005及以上版本. ...
- [Jobdu] 题目1517:链表中倒数第k个结点
给出一个链表的头指针,要求找到倒数第k个节点,并输出这个节点的值 例子: 先看一个例子,链表为:1 2 3 4 5 6,倒数第2个节点就是5,倒数第一个节点就是6,以此类推.这里的链表有头节点,就是说 ...
- ThinkPHP第十六天(redirect、join、视图模型)
1.redirect /** * Action跳转(URL重定向) 支持指定模块和延时跳转 * access protected * @param string $url 跳转的URL表达式 * @p ...
- Json.Net系列教程 1.Json.Net介绍及实例
原文 Json.Net系列教程 1.Json.Net介绍及实例 本系列教程假设读者已经对Json有一定的了解,关于Json在这里不多说.本系列教程希望能对读者开发涉及到Json的.Net项目有一定的帮 ...