条码概述

一维码

简介

条形码或称条码(barcode)是将宽度不等的多个黑条空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到了广泛的应用。

条形码种类

Barcode – Linear Barcodes

UPC/EAN/JAN码

通用产品代码Universal Product Code,UPC),通常简称 UPC 码,是美国均匀码理事会Uniform Code Council, UCC)制定的一种商品条码,主要在美国及加拿大使用。在其基础之上发展起来的 EAN 码则已发展成为适用范围最广的通用条码。

国际商品编码International Article Number,IAN),即欧洲商品编码European Article Number, EAN),原来只是欧洲范围内商品,而现在已是全球范围内产品交易的商品代码。为了适应读码器辨认的需要,这些代码又被做成大家熟知的条形码。

另外,日本于 1978 年在 EAN 的基础上开发出“JAN 码”(JAN コード,Japanese Article Number)。

本文以 UPC 码为例。

UPC 码简介

UPC 码只能用来表示 0-9 的数字。每 7 个模组表达一个字符,每个模组有空(白色)与条(黑色)两种状态。UPC码又分为 UPC-A、B、C、D、E 五种版本。此处以 UPC-A 码为例。

UPC_EANUCC-12_barcode

UPC-A 用于通用商品,是适用范围最广的一种UPC码。一共有 113 个模组。左右两个各由 9 个模组组成的空白。UPC-A码是定长码,只能表示 12 位数字。从左至右,依次是 3 个模组(101)的起始码、1 位的系统码、5 位的左侧数据码、5 个模组(01010)的中间码、5 位的右侧数据码、检查码、3个模组(101)的终止码。其中,起始码、中间码、终止码的模组长度都要长于数据码。

左侧数据码与右侧数据码的数值对应规则并不相同,左侧数据码含有奇数个模组,右侧数据码含有偶数个。黑色模组对应逻辑值为 1,白色则为 0。

  • 对应关系表
数值 左侧逻辑值 右侧逻辑值
0 0001101 1110010
1 0011001 1100110
2 0010011 1101100
3 0111101 1000010
4 0100011 1011100
5 0110001 1001110
6 0101111 1010000
7 0111011 1000100
8 0110111 1001000
9 0001011 1110100

校验码为全部 12 位数据码最后一位。如果从左至右依次将数据码前十一位命名为 N1-N11,校验码命名为 C,则校验码 C 的计算方式如下:

CC =(N1 + N3 + N5 + N7 + N9 + N11)× 3 + (N2 + N4 + N6 + N8 + N10)然后取个位。
C = 10 – CC (若 C 值为 10,则取 0)。

以图中条码为例,CC = (0 + 6 + 0 + 2 + 1 + 5)× 3 + (3 + 0 + 0 + 9 + 4 ) = 58,C = 2

条形码生成

在线条码发生器

二维码

简介

二维条码/二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。

二维码种类

Barcode – Matrix_(2D) / Barcodes

堆叠式二维码

  • PDF417 条码,Portable Data File,是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段。可以用传统的线性扫码器识别,而矩阵式二维码需要图像传感器成像才能识别。

PDF417Sample

矩阵式二维码

  • QR CodeQR 码Quick Response Code,快速响应矩阵图码)是,于 1994 年由日本 DENSO WAVE 公司发明,广泛应用于生活与工业生产中。

QRCode

  • Data Matrix数据矩阵),是一种由黑色、白色的色块(单元格)以正方形或长方形组成的二维码(也可称矩阵),于 1994 年 8 月由美国国际资料公司所研发出,主要用于零件、印制电路板等等。

DataMatrix

  • MaxiCode,MaxiCode 是最初由 United Parcel Service 创建和使用的公共领域的机器可读符号系统,应用于跟踪和管理包裹的运输,使用以六角形网格排列的点表示数据。

MaxiCode_Regions

  • 汉信码,是一种矩阵式二维条码,我国自主研发,具有高度的汉字表示能力和汉字压缩效率,形状上呈正方向、有深色和浅色数据模块分布其间。2007 年 8 月 23 日《汉信码》国家标准正式颁布,并于 2008 年 2 月 1 日正式实施。常见于发票、追溯、筛查等。
    • 国家国税总局汉信码增值税发票
    • 特种行业应用发票
    • 广东省水产品质量追溯体系
    • 医疗卫生领域中新生儿疾病筛查

HanXinCode

  • 网格矩阵码Grid Matrix Code,我国自主研发,常用于食品安全质量追溯。1

GMCode

  • 龙贝码,拥有完全自主知识产权,具有更高的信息密度、更强的加密功能、可以对所有汉字进行编码、适用于各种类型的识读器、最多可使用多达32种语言系统、具有多向编码/译码功能、极强的抗畸变性能、可对任意大小及长宽比的二维条码进行编码和译码。2

LPCode

私有码制

  • 微信小程序码,由腾讯公司发布,专用于微信小程序,信息轴向排布,具有较高的辨识度。

WeChatMiniProgramCode

QR码3

版本

QR 码一共提供 40 种不同版本存储密度的结构,版本 1 为 21 × 21 模块(模块为 QR 码中的最小单元),每增加一个版本,长宽各增加 4 个模块,最大的版本 40 为 177 × 177 模块。

  • 版本 1 & 2

    QRCode_Version1and2

  • 版本 6 & 7

    QRCode_Version1and2

  • 版本 14

    QRCode_Version1and2

  • 版本 40

    QRCode_Version1and2

容量

针对模块数量最多的版本 40 来说,QR 码的最大数据容量如下表:

存储类型 最大容量
数字 7089 字符
字母 4296 字符
二进制数(8bit) 2953 字节
日文汉字/假名(Shift JIS 编码) 1817 字符
中文汉字(UTF-8 编码) 984 字符
中文汉字(BIG5/GB2312 编码) 1800 字符

容错

QR 码有容错能力,QR 码图形如果有破损,仍然可以被机器读取内容,最高可以到 30% 面积破损仍可被读取。所以 QR 码可以被广泛使用在运输外箱上。

QR 码所使用的纠错码编码算法为里德-所罗门码Reed-Solomon codes),是一种前向错误更正的信道编码,对由校正过采样数据所产生的有效多项式。

BrokenQRCode

QR 码的容错共有 4 个等级,对应的错误修正容量如下表:

容错等级 最大的错误修正容量
L 等级 7%
M 等级 15%
Q 等级 25%
H 等级 30%

不同容错等级的对比如下:

QRCodeBrokenSampleBefore

QRCodeBrokenSampleAfter

结构

QR 码最大特征为其左上,右上,左下三个大型的如同“回”字的黑白间同心方图案,为 QR 码识别定位标记,失去其中一个会影响识别。而呈棋盘般分布的有别与大定位标记的较小的同心方则为其校正标记,用于校正识别,版本 1 没有校正标记,版本 2 在右下方,其中心点在左下和右上定位标记的外边框的相交点,版本10开始以每个等距的方式出现在右下校正点至左下和右上定位标记的外边框的连线、左上与左下定位标记的外边框的连线、左上与右上定位标记的外边框的连线之间、这四边线上等距点对边相连线,版本 10 等距有 1 个,版本 25 为 3 个,版本 40 为 5 个。

QRCodeStructureENG

QRCodeStructureCHN

数据构造

在规格确定的条件下,数据按照规定的计算方式生成序列按次序放入分块中,按规定把数据分块,对每一块进行计算,得出相应的纠错码字区块,把纠错码字区块 按顺序构成一个序列,添加到原先的数据码字序列后面。如:D1, D12, D23, D35, D2, D13, D24, D36, … D11, D22, D33, D45, D34, D46, E1, E23,E45, E67, E2, E24, E46, E68,……

QRCodeBlockArrangeSequence

QRCodeBlockArrangement

QRCodeBlockArrangeSample

掩膜

将掩摸图形应用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优的分布。

QRCodeMaskStructure

QRCodeMaskPatterns

QRCodeMaskSample

解码

光学处理 – 几何校正 – 码位读取 – 反掩码 – 确定类别 – 确定长度 – 破译 – 检错纠错 – 字符转换 – 协议执行

应用类型4

文本

物联网(英语:Internet of Things,简称IoT)是一种计算设备、机械、数字机器相互关系的系统,具备通用唯一识别码(UID),并具有通过网络传输数据的能力,无需人与人、或是人与设备的交互。

QRCodeTextSample

网址

https://www.gehongyan.cn/2020/09/23/iotjissen/198

QRCodeURLSample

名片

MECARD:
N:戈小荷,;
TEL:18800000000;
EMAIL:ge@test.com;
ADR:北京市海淀区;

QRCodeNamecardSample

位置

geo:39.9931885,116.3520637?q=北京科技大学

QRCodeLocationSample

Wi-Fi

WIFI:
S:USTB-Student;
P:;
T:;
H:;

QRCodeWiFiSample

短信

sms:10086

QRCodeSMSSample

电话

tel:10086

QRCodeTelSample

日历事件

BEGIN:VEVENT
SUMMARY:国庆节假期!
DTSTART:20200930T160000Z
DTEND:20201004T155959Z
END:VEVENT

QRCodeEventSample

二维码工具

生成

解码

相关科普视频

  • 【回形针PaperClip】 二维码的秘密 – 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
  • 【WOE】用肉眼识别二维码,总共分几步? – 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

参考

Visits: 78

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇