无需登录 数据私有 本地保存

条形码在线解码器 - 摄像头/图片读取条码

146
0
0
0

条码基础术语

条码(Barcode)

条码是一种通过黑白相间的条纹或几何图形排列来存储信息的编码方式。条码技术将数据转换为可被光学扫描设备快速读取的图形符号,是实现自动化数据采集的基础技术。条码分为一维条码(线性条码)和二维条码(矩阵条码)两大类,广泛应用于商品零售、物流追踪、身份识别和移动支付等领域。

一维条码(Linear Barcode)

一维条码由一系列宽度不等的平行黑白条纹组成,数据在水平方向上编码,垂直方向用于冗余以便于扫描。常见的一维码格式包括EAN-13、UPC-A、Code39、Code128和ITF等。一维码的优点是技术成熟、打印成本低、扫描速度快;缺点是数据容量有限(通常最多几十个字符),不支持汉字等复杂字符的编码。

二维码(2D Barcode)

二维码在水平和垂直两个维度上存储数据,通过黑白方格(模块)的矩阵排列来编码信息。相比一维码,二维码的数据容量更大(QR码最多可存储约3KB数据),支持汉字、字母和二进制数据等多种编码模式,并且具备更强的纠错能力。常见的二维码格式包括QR码、Data Matrix、PDF417和Aztec码等。

EAN-13

EAN-13(European Article Number)是全球最常用的商品零售条码标准,由13位数字组成,包括前缀码(2-3位国家或地区代码)、厂商代码(4-5位)、产品代码(3-5位)和校验码(1位)。中国的前缀码为690-699。EAN-13条码基于GS1全球标准体系,确保商品在全球范围内的唯一标识。本工具支持EAN-13条码的结构化解析展示。

UPC-A / UPC-E

UPC(Universal Product Code)主要在美国和加拿大使用。UPC-A由12位数字组成,结构与EAN-13类似但不含国家前缀,第1位数字为系统字符(如0代表常规杂货,2代表随机重量商品)。UPC-E是UPC-A的压缩版本,通过省略部分零实现6位数字的紧凑编码,主要用于小包装商品。

Code128

Code128是一种高密度的一维条码格式,能编码全部128个ASCII字符(包括数字、大小写字母和控制字符)。它支持三种字符集(Code A、Code B、Code C),其中Code C可用每两个数字组成一个字符进行高密度编码。Code128广泛应用于物流快递面单、仓储管理和医疗标本标识等需要编码较多文字信息的场景。

Code39

Code39是一种早期的字母数字一维条码格式,可编码43个字符(数字0-9、大写字母A-Z和部分符号)。Code39的每个字符由9个模块中的5个条和4个空组成,其中3个条为粗条、2个为细条,故得名「3 of 9」。因其编码规则简单、打印要求低,Code39至今仍广泛用于美国国防部和汽车工业的标识系统。

QR码(Quick Response Code)

QR码是日本DENSO WAVE公司于1994年开发的矩阵二维码,因其「快速响应」的特性而得名。QR码包含三个角上的定位图案、版本信息、格式信息、数据区和纠错码区。QR码支持4种纠错等级(L 7%/M 15%/Q 25%/H 30%),即使部分损坏也能正确解码。QR码最多可存储7089个数字或4296个字母数字或1817个汉字字符,是目前最流行的移动支付和扫码识别二维码格式。

Data Matrix

Data Matrix是一种高密度二维码格式,由深色和浅色单元格组成的方形或矩形矩阵。它使用L型实心边框和交替的定位线作为边界识别标记,支持ECC 200纠错算法。Data Matrix的显著优势是可以在极小的物理空间内编码大量数据(最小可达2.5mm²),特别适合电子元器件标识、医疗器械追溯和航空航天零部件的直接部件标记(DPM)。

PDF417

PDF417是一种堆叠式线性二维码,由多行一维条码堆叠而成。它的名称源于每个码字的宽度包含4个条和4个空共17个模块。PDF417不需要像传统二维码那样的定位图案,而是通过每行的起始符和终止符进行识别。PDF417常用于驾驶证、身份证件和航空行李标签等需要编码大量文本信息的场景。

ZXing(Zebra Crossing)

ZXing是一个开源的Java条码图像处理库,是目前使用最广泛的条码解码框架之一。它支持40余种条码格式的编码和解码,提供了完整的条码识别管线,包括图像预处理、候选区域定位、格式识别、解码和纠错等步骤。ZXing已经移植到多种编程语言和平台,包括JavaScript版本的zxing-js/library,是本工具的底层识别引擎。由于ZXing经过多年的社区维护和生产环境检验,其解码准确率和兼容性在同类开源方案中处于领先地位。

校验码(Check Digit)

校验码是附加在条码数据末尾的一位数字,通过特定算法(如Mod 10加权算法)对前面的数字计算得出。扫描设备在读取条码后,会重新计算校验码并与读取到的校验码对比,如果一致则认为扫描成功。校验码能有效防止因条码印刷错误或扫描偏差导致的数据读取错误,是条码可靠性的重要保障机制。

纠错等级(Error Correction Level)

纠错等级是二维码技术中的关键参数,决定了条码在部分损坏或遮挡情况下仍能被正确解码的能力。QR码提供L(7%纠错)、M(15%纠错)、Q(25%纠错)和H(30%纠错)四个等级。纠错等级越高,条码中用于纠错的冗余数据越多,允许的损坏面积越大,但同时也会减少有效数据的存储容量。Data Matrix使用Reed-Solomon纠错算法,其纠错能力与码字数量和格式版本相关。