条形码中有什么数学原理?

2024-11-18 03:00:29
推荐回答(2个)
回答(1):

不知你有没有注意到,很多商品如烟、酒等的包装盒上,都有一组平行排列的、宽窄不同的黑白条纹,这就是条形码。其实,条形码在我们日常生活中的应用非常广泛,在普通商品上,在正式出版发行的书刊、杂志的封面或封底上,都可以看到条形码。

那么条形码有什么用途呢?为什么商品、书刊要使用条形码呢?条形码实际上是伴随着计算机技术的发展,伴随着经济领域交流的拓宽,而产生的一种新的信息技术——条码技术,它能够最经济、快速、准确地收集和传递信息。简单地说,条形码的用途就是传递信息。

这样一些宽窄不同的竖条就能传递信息是不是很不可思议?下面我们就来简单地作一个介绍。条形码之所以能够传递信息,是因为条形码本身就代表了某种信息;而条形码的这种信息又可以被机器识读。条形码就是通过条、空的不同宽窄与排列不同来表达不同的信息。仔细观察几个不同的条形码,你就会发现,虽然它们表面看上去似乎很相似,但它们绝对有细小的差别。而这些在我们肉眼看来细小的差别,在计算机里则是巨大的差别了,因为计算机是将其转换为一连串的二进位制数字。我们知道,在二进位制中,只有两个数字0和1,而这两个数字在条形码中就可以用条与空或条、空的宽与窄来区别。计算机靠光电阅读设备如光笔来识别条形码。当光照射到条形码上,黑条与白空产生较强的对比,这种对比可以转化为强弱不同的电流,而条与空的宽窄可以引起信号出现时间的长短,因此计算机就可以直接进行识别。通常条形码还具有双向可读性,也就是说从左右两侧开始扫描,都可以被识读。这是因为在识读过程中,译码器会自动判别扫描方向。

条形码既然是供机器识别的字符,那么人是不是就无法识别了呢?事实上,考虑到当条形码识读设备出问题时,可以采用光学字符或人眼识别,所以在各种条形码中都加入了供人识别的字符,可以让人们对条形码所表示的信息有一个大概的了解。因此,条形码通常就是由一组规则排列的条、空及其对应字符组成。国外根据条形码的外观特征,称之为棒码、宇宙线、斑马线等。

既然条形码是通过计算机来传递信息的,那么它的编码就要有一个统一的规范。例如,汽车工业选用的是Code39码,这是对世界汽车业技术导向有一定作用的AIAG规定的汽车行业标识规范,制定这个规范是为了适应世界各国汽车工业的交流与发展。世界上不少行业或团体都规定了自己的条形码使用规范。当然也有一些只局限于某一单位如大型购物超市专用的条形码管理系统,这种系统就不必符合通用的规范了。

随着计算机技术的推广,作为唯一可直接印制的机器语言,条形码的应用范围必将更为广泛。

回答(2):

条形码就是商品包装上的黑白相间直线段条纹形状的图案,条形码下通常还会标注数字。要做到扫码处理商品价格、库存等,需要经过扫描和译码两个过程。扫描就是利用条形码黑白相间的特点进行的,由于黑色能够吸收所有可见光,白色能够反射所有可见光,所以当扫描器扫描条形码后,由白色空白处的条码反射的可见光就会反射到扫描器中的光电传感器上,将光信号转换成电信号,再通过电路将电信号转换为数字信号。最后,黑白相间的条形码会根据条码的宽度转换为一定数量的0和1,并按照条码顺序进行排列。计算机便可以通过特定的编码规则将扫描所得的二进制数字转换为人们所需要的信息。
之所以将条形码或二维码通过电路转化为二进制的数字串或数字矩阵,是因为计算机便于通过二进制进行逻辑演算。由于便于使用1和0表示电路的通断,也有利于提高判断的精准度,减少误差,因此二进制是计算机自发明以来普遍使用的底层机器码的数字进制。虽然底层机器码与我们使用的图形窗口等应用层的功能已没有很大关联,但是计算机在处理代码时,无论在应用层还是底层,0与1、False与True这样的判断都是简洁而富有逻辑的。