UPC码(Universal Product Code)是最早大规模应用的条码,其特性是一种长度固定、连续性的条码,目前主要在美国和加拿大使用,由於其应用范围广泛,故又被称万用条码。

UPC码仅可用来表示数字,故其字码集为数字0~9。UPC码共有A、B、C、D、E等五种版本,各版本的UPC码格式与应用对象如表 所示。

表 UPC码的各种版本

版本

应用对象

格 式

UPC-A

通用商品

SXXXXX XXXXXC

UPC-B

医药卫生

SXXXXX XXXXXC

UPC-C

产业部门

XSXXXXX XXXXXCX

UPC-D

仓库批发

SXXXXX XXXXXCXX

UPC-E

商品短码

XXXXXX

注:S-系统码  X-资料码  C-检查码

??? 下面将再进一步介绍最常用的UPC标准码(UPC-A码)和UPC缩短码(UPC-E码)的结构与编码方式。

 

UPC-A码

 

一个UPC-A码的范例。


图 UPC-A码的结构

每个UPC-A码包括以下几个部分:

 

UPC-A码具有以下特点:

  1. 每个字码皆由7个模组组合成2线条2空白,其逻辑值可用7个二进制数字表示,例如逻辑值0001101代表数字1,逻辑值0为空白,1为线条,故数字1的UPC-A码为粗空白(000)-粗线条(11)-细空白(0)-细线条(1)。
     

  2. 从空白区开始共113个模组,每个模组长0.33mm,条码符号长度为37.29mm。
     

  3. 中间码两侧的资料码编码规则是不同的,左侧为奇,右侧为偶。奇表示线条的个数为奇数;偶表示线条的个数为偶数。左资料码与右资料码字码的逻辑值如表所示。

表UPC-A码左资料码与右资料码字码逻辑值对照表

 

 

左资料码(奇)

右资料码(偶)

字码

逻辑值

逻辑值

0

0

0001101

1110010

1

1

0011001

1100110

2

2

0010011

1101100

3

3

0111101

1000010

4

4

0100011

1011100

5

5

0110001

1001110

6

6

0101111

1010000

7

7

0111011

1000100

8

8

0110111

1001000

9

9

0001011

1110100

注: 0为空白,1为线条

 

  1. 起始码、终止码、中间码的线条高度长於数字码。
     

  2. 检查码的算法

从国别码开始自左至右取数,设UPC-A各码代号如下:

N1

N2

N3

N4

N5

N6

N7

N8

N9

N10

N11

C

则检查码之计算步骤如下:

C1 = N1+ N3+N5+N7+N9+N11

C2 = (N2+N4+N6+N8+N10)× 3

CC = (C1+C2) 取个位数

C (检查码) = 10 - CC  (若值为10,则取0)

UPC-E码

 

UPC-E是UPC-A码的简化型式,其编码方式是将UPC-A码整体压缩成短码,以方便使用,因此其编码形式须经由UPC-A码来转换。UPC-E由6位数码与左右护线组成,无中间线。6位数字码的排列为3奇3偶,其排列方法取决於检查码的值。UPC-E码只用於国别码为0的商品。其结构如图所示。


图 UPC-E码的结构

  1. 左护线:为辅助码,不具任何意义,仅供列印时作为识别之用,逻辑型态为010101,其中0代表细白,1代表细黑。
     

  2. 右护线:同UPC-A码,逻辑型态为101。
     

  3. 检查码:为UPC-A码原形的检查码,其作用为一导入值,并不属於资料码的一部份。
     

  4. 资料码:扣除第一码固定为0外,UPC-E实际参与编码的部份只有六码,其编码方式,视检查码的值来决定,如表 2.3所示。奇资料码与偶资料码的逻辑值如表所示。

表 UPC-E码资料码的排列方式

表 UPC-E码资料码的编码方式

 

 

奇资料码

偶资料码

字码

逻辑值

逻辑值

0

0

0001101

0100111

1

1

0011001

0110011

2

2

0010011

0011011

3

3

0111101

0100001

4

4

0100011

0011101

5

5

0110001

0111001

6

6

0101111

0000101

7

7

0111011

0010001

8

8

0110111

0001001

9

9

0001011

0010111

注: 0为空白,1为线条

第一节 UPC 码的更多相关文章

  1. 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触

    http://blog.csdn.net/visioncat/article/details/1596576 GCC for Win32 开发环境介绍(5) 第四章 跨平台图像显示库——SDL 第一节 ...

  2. 第一节:ASP.NET开发环境配置

    第一节:ASP.NET开发环境配置 什么是ASP.NET,学这个可以做什么,学习这些有什么内容? ASP.NET是微软公司推出的WEB开发技术. 2002年,推出第一个版本,先后推出ASP.NET2. ...

  3. 第一节,初识OpenCV3-图像的读、写、显、格式转化等

    之前一直在看深度学习,突然用到了对图像处理的东西,所以过来补充一下OpenCV基础. 就顺便从网上了买了一本OpenCV 3计算机视觉这本书,这本书比较薄,但是目前已经够我用了,在这里就记录一下我的学 ...

  4. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  5. Java基础第一节.Java简介

    第一节 Java简介 Java是一个由Sun公司开发而成的新一代的编程语言. Java语言是对软件开发有深远影响.应用前景广泛.具有丰富的类库.继承了C++的传统(摈弃了某些不足)广泛使用的网络编程语 ...

  6. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

  7. Monkeyrunner自动化测试由浅入深(第一节)

    (原版)Monkeyrunner自动化测试由浅入深(第一节) 博主原创,请勿转载 第一.相关软件和环境的配置 1.Android sdk下载和配置 2.java jdk下载和配置 第二.Monkeyr ...

  8. 《C# 爬虫 破境之道》:第二境 爬虫应用 — 第一节:HTTP协议数据采集

    首先欢迎您来到本书的第二境,本境,我们将全力打造一个实际生产环境可用的爬虫应用了.虽然只是刚开始,虽然路漫漫其修远,不过还是有点小鸡冻:P 本境打算针对几大派生类做进一步深耕,包括与应用的结合.对比它 ...

  9. 第一节:《线程安全和锁Synchronized概念》

    第一节:线程安全和锁Synchronized概念 一.进程与线程的概念 (1)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程. 在未配置 OS 的系统中,程序的执行方 ...

随机推荐

  1. iPhone开发之全局变量的使用

    全局变量历来就是很好的东西,能够在开发中带来很多方便,下面来介绍一下iPhone中软件开发时全局变量的使用方法: 一.新建Constants.h文件(文件名根据需要自己取),用于存放全局变量: 二.在 ...

  2. .net 微信APP支付接口的开发流程以及坑

    流程 申请APP的微信支付 申请成功之后得到APPID 商户号 以及自己设置商户号的支付密码 这时就可以开发接口了 微信APP支付API:https://pay.weixin.qq.com/wiki/ ...

  3. POJ 3623 Best Cow Line, Gold(字符串处理)

    题意:给你一个字符串,让你重新排列,只能从头或者尾部取出一个放到新字符串队列的最后.按照字典序. 解决方法:比较前后两个的大小,谁小输出谁,相等,就往当中比来确定当前应该拿最前面的还是最后面的,如果再 ...

  4. zoj 3708 Density of Power Network

    /*看英文和图我头都大了,不过很简单的.*/ #include<string.h> #include<stdio.h> ][],q[],w[]; int main(int ar ...

  5. [Swust OJ 409]--小鼠迷宫问题(BFS+记忆化搜索)

    题目链接:http://acm.swust.edu.cn/problem/409/ Time limit(ms): 1000 Memory limit(kb): 65535   Description ...

  6. 服务器表导入到本地数据库SQL语句

    这是开启权限 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed ...

  7. jquery初学笔记

    官方网站:http://jquery.com/ 一个简单的JQuery实例: <!DOCTYPE html> <html lang="en" xmlns=&quo ...

  8. what does Html.HiddenFor () for ?

    When I want to pass some value that won't be seen by users, I find it useful to use this. It can hel ...

  9. 使用jodconverter和swftools实现文件在线预览

    参考:仿百度文库解决方案(四)——利用JODConverter调用OpenOffice.org服务转换文档为PDF 文档在线预览主要用到如下两个工具 1,安装openoffice(同时下载jodcon ...

  10. USB设备在连接PC时的reset从何而来?

    近期在做烧写工具的优化工作,有一些关于USB的内容须要总结一下当中包含设备的初始化过程和枚举过程. 在枚举的过程中,设备会一直等PC端的状态,当等到reset命令时会对设备进行又一次枚举.可是这个re ...