APP下载

浅析标准中的编码及校验技术

2018-01-24张广庆黄裔华顾婉晴

质量探索 2017年6期
关键词:模数条码字符

张广庆,黄裔华,顾婉晴

(1.青岛市标准化研究院,青岛 266071;2.广东省薄膜及设备行业协会,广州 511363;3.辽宁工业大学,锦州 121001)

1 前言

编码在生产、生活中有着广泛应用。从一个简单的单位员工编码到庞大复杂的大飞机物料编码,从常见的计算机汉字编码到农产品和食品的追溯编码,编码都起着非常重要的作用。在众多的编码中,如何选择适合个人或单位实际应用的编码方案呢?已公布的国家标准和行业标准中,有大量涉及编码的标准,本文通过简要分析此类标准,帮助读者更好的借鉴、学习这些编码知识,从而找到最佳解决方案。

2 定义

编码是一个多学科经常使用的概念,全国科学技术名词审定委员会公布的不同学科的定义有20种。在计算机科学中,编码是指信息从一种形式或格式转换成另一种形式的过程。在标准中,编码是给事物或概念赋予代码的过程,代码表示特定事物或概念的一个或一组字符[1]。

3 与编码有关的标准

据统计,国内已发布的国家标准和行业标准约有22万种,在标准名称和适用范围中检索“编码”一词,可以找到大多数的编码类标准,类似的词还有代码、分类、报文。利用这一特性,在某专业标准网站检索这些词后的统计情况参见表1。

表1 编码类标准数量

4 编码组成

4.1 编码对象

编码对象指被编码的事物或概念,通常具有某种共同属性或特征。[1]编码对象泛指人类社会传播的一切内容,可以是文字、声音、信号、产品、图形图案、标志标识等。在现行的450种编码类国家标准中,最多的标准是关于语言字符集编码的,多达135种。

4.2 编码对象分类

编码对象可分为文字对象和非文字对象。事物名称是最常见的文字对象,像某个汉字、某单位名、某道路名、某书名等都是文字对象。非文字对象则包括图形、图像、声音等,如电报中的电脉冲信号和商品中的条形码符号就是非文字对象。

国际标准分类法(ICS)和中国标准文献分类法(CCS)是标准文献的分类方法,在研究标准中的编码对象分类时,也可以借鉴使用这两种分类方式。

4.3 编码符号

(1)文字符号:又分为数字型、字母型、字母数字型。数字型的代码只能是数字,如行政区划代码、商品条码;字母型的代码只能是字母,如世界各国和地区代码中的两字符、三字符代码;字母数字型的代码既有数字也有字母,如统一社会信用代码和国民经济行业代码。

采用文字符号的编码对象在本文中简称编码代码。编码代码也包括编码对象采用的图形符号对应的数字和字母,这些数字和字母可以供人识读,像一维条码常常将条形码和数字、字母同时印刷,以便同时满足设备识别和人工识读的需要。

大多数小型机和全部个人计算机都使用ASCII码作为存储和传输的数据格式,因此,文字符号也多采用ASCII码作为编码符号。基本ASCII码共有128个字符,由10个数字、52个英文字母、33个其它可显示字符、33个控制字符或通信字符组成,扩充ASCII码则可达到256个字符。

(2)图形符号:使用图形的编码符号主要用于快速采集和识别,一般使用规则的图形符号。如一维条码使用宽度不等的多个黑线和空白表达特定信息,二维条码使用特定的几何图形(如黑白相间的方格)按一定规律在平面上进行规则分布来表达信息[2]。GB/T 12905-2000 《条码术语》规定的条码符号类型包括一维条码、二维条码和特种条码,前两者较为常用(见表2)。

表2 常用条码

4.4 编码符号排列方式

(1)非坐标型排列:使用文字符号的编码是非坐标型排列,一般用于计算机存储、传输和处理。使用数字或字母编制代码,与空间坐标无关。

(2)线型排列:使用特定的几何图形在一个方向上按照一定规则排列,如一维条码使用黑条和空白相间的符号按照水平或垂直排列表达信息。圆形条码则是一种特殊的线型编码,是从一个中心点向外延伸的规则图形。

(3)平面型排列:使用特定的几何图形在平面上排列表达信息,一般选择垂直的两个方向,如二维条码由黑色和白色正方形组成并沿两个方向排列。

4.5 编码结构

(1)随机结构:编码代码由无含义字符或者某种语言的缩略词组成,如组织机构代码前8位由无任何含义的数字和字母组成,世界各国和地区代码由2位(或3位)拉丁字母或3位数字组成。

(2)分级结构:编码代码可以划分成有不同含义的各段代码,且后一段代码的确切含义由前一段代码来确定。如行政区划代码是6位数字,由3段分别表示省、市(地区)、县(区)的代码组成;国民经济行业代码是5位数字或字母,分别由门类、大类、中类、小类组成。

(3)并列结构:编码代码由有不同含义的各段代码组成,各段代码的属性或特征独立,与前后位置无关。如居民身份证号第1-14位是14位数字,分别是行政区划代码、出生年月日;统一社会信用代码是18位数字或字母,第3-17位分别是登记机关行政区划代码、组织机构代码,都属于并列结构。

(4)混合结构:编码代码由上述2种或3种结构的代码共同组成。大多数编码代码是混合结构,如居民身份证号。

不同编码结构示例见表3。

表3 采用不同编码结构的代码示例

5 编码代码校验技术

大多数编码代码采用一套校验字符系统来防止复制、键入或采集编码数据时产生错误,其代码通常由本体码和校验码组成。为与标准中描述校验算法的用语一致,下文中的“编码代码”与“字符”含义相同。

5.1 校验算法

常用的校验算法有奇偶校验、海明校验、循环冗余校验、纵向冗余校验、累加和校验、加总异或校验等。

5.2 模数同余算法

在标准中,编码代码通常采用模数同余算法的校验字符系统,一般有两种:一种是纯系统,所有计算阶段都使用单一模数;另一种是混合系统,在计算中采用了两个模数,一个模数为偶数,另一个模数比它大1。[3]模数同余算法中的常用模数参见表4。

表4 常用模数

纯系统采用递归法和多项式法计算校验码,而混合系统仅能使用递归法计算校验码,不能采用多项式法。

5.3 纯系统校验公式

表5 纯系统1位校验码的常规计算

5.4 纯系统递归法

示例:计算代码“0794”的1位校验码。计算步骤参见表6。

表6 纯系统1位校验码的递归法计算

5.5 纯系统多项式法

表7 纯系统前15位的权

示例:计算代码“0794”的1位校验码。计算步骤参见表8:

表8 纯系统1位校验码的多项式法计算

关于一维条码的相关标准均采用纯系统多项式法计算或验证校验码。

5.6 混合系统递归法

表9 混合系统1位校验码的递归法计算

6 结束语

编码及其技术广泛存在于编码类标准中,大多数生产、生活中遇到的事物和概念都可以在标准中找到相应规范。学习、借鉴这些标准,可以有效解决各种编码问题。校验技术是编码技术的重要组成部分,采用ASCII码作为代码的编码都使用模数同余算法的校验字符系统,如日常生活中常遇到的身份证号、统一社会信用代码、商品条码等大都使用模数同余算法。

[1] GB/T 10113-2003,分类与编码通用术语[S].

[2] GB/T 12905-2000,条码术语[S].

[3] GB/T 17710-2008,信息技术 安全技术 校验字符系统[S].

猜你喜欢

模数条码字符
福建省涝区排涝模数分布规律分析研究
热线互动
基于单片机和模数化设计的低压侧电压监视与保护装置
浅析影响商品条码质量的主要因素
论高级用字阶段汉字系统选择字符的几个原则
模数化设计方法在景观铺装设计中的应用
日杂商品条码质量现状研究
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画