条形码这玩意儿,哪像是高科技发明出来的?说白了就是给东西贴个“身份证”,让扫一下就能扒出所有底细。

那会儿买东西,得找收银台,刷卡提钱,还得数钱,这一套流程下来往往十分钟都够不着,并且好办出错。

后来条形码出现,直接把这一套折腾没了。它就像个万能钥匙,哪位都有,只要有个能扫的接口,就能直连互联网。目前扫码支付、电商下单、快递分拣,全靠它。 拆开来看,条形码实际上就是纸要么塑料上印的一长串黑白条纹。黑白是两种颜色,哪怕你把它放大到 10 倍、50 倍也没啥区别,出于人眼根本看不见那些细微差别。

只有把光打在它们上,才能分出黑和白。

故此,条形码本质上就是一个编码系统,把数字要么字母转成条形码上的黑白块,再转回数字。

这个过程在计算机里叫“解码”,人眼只能看“看”,但机器能看懂。 早期最出名的,肯定是超市里扫货站的码。

那时候咱们是手工拆码。拿个小本子,把码拆成一个个小方块,然后找对应颜色。

比如黑块对 0,白块对 1,一二三、零四六。别看有时候码长得有点丑,数字要么字母长得也不直,要么颜色淡了看不清,略微费劲点,但总归能拆下来。

后来有了扫描仪,把光打那会儿,屏幕直接蹦出数字,这就忒省事了吧。

那赶明儿快递包装上印个码就能直接入仓,不需求再拆、不用再查、不用再记,效率直接拉满。 实际上这种原理早就在电脑里跑透了,只是那会儿没找到对应的软件。目前有个叫“条码扫描”的软件,只要装个 APP,像微信、支付宝扫一下,要么用手机摄像头一扫,立马就能出结局。就连不用联网,也能用。原理就好办:设备对着码,通过摄像头采集图像,然后通过算法算出黑块和白的比例,把它换算成二进制,最终变成数字。 说到算法,这玩意儿不是你们想象的那样复杂。

一般扫码的时候,摄像头会自动拍个照,把图像分成不同大小的块。有的块是黑的,有的是白的。系统里有一个预设的模型,告诉它“黑”代表 0,“白”代表 1。

然后它把每一块的颜色亮度算出来,比如亮度值是多少,对比度是多少,把这些数据当成一串二进制数记下来。记完再查表,看这个二进制数对应的是啥字符,比如是 5、是 10。最终就是解码过程终止,数字出来了。整个过程挺快,也就几百毫秒,比广播还快。 不过,理论上要是把码做得忒细忒窄,光线到底能不能照进去就成难题了。

比如码忒密,光线透那会儿就看不见了。可实际中,我们看到的码都是“人眼由此可见”的。

为啥?出于人眼能分辨对比度。

哪怕码宽只有 0.05 毫米,只要黑和白的亮度差够大,人眼就能看出来是黑还是白。

要是亮度差忒小,人眼就看不清,那就没法作为条码了。

故此,这个阈值实际上挺玄学,厂家得根据经验定,但大方向上遵循人眼分辨极限。现代手机摄像头分辨率极高,扫描精度比一般/平平扫描仪还要好,就连能扫出比传统条码更细的编码,比如一维码要么二维码,就连蓝紫纠缠码,这些别看原理还是靠黑白对比度,但数据量大了,容量也大了。 码子里头的数字,最早是商代甲骨文,那个“一”就是目前的 1。

后来商朝人启动用文字表示数字,比如用方块代表 4,两横代表 5。到了商朝中后期,数字的写法有了变化,比如 1 就演变成目前的竖线,2 变成个弯曲的,这样写起来快,不好办漏。

实际上商朝人早就搞清楚了,数字的排列方式对后面数字的写法有挺大影响。 那到了宋朝,咱们就有“四六九”的说法。

那时候的码里,黑是 0 还是白是 1?仿佛不忒关键,关键的是如何读出来。宋朝人把 1 写成“一”,2 写成“廿”(二十),3 写成“三”,4 写成“四”,5 写成“五”(要么是“幺”)。到了明朝,五字码的写法根本定型了,这就是目前通用的单线码。四六九,就是 4、6、9 这三个数,后来演变成目前的形式。明朝人别看智慧,但对数字的写法还是有点局限,比如 1 只能写成“一”,2 只能写成“廿”,3 只能写成“三”。

后来日本发明白“五文码”,把 1 写成“一”,2 写成"U",3 写成"V",4 写成"X",5 写成"5"。日本人发现,用英文字母要么符号代替数字,排版更规整,携带撇脱。

后来传到欧洲,又演变成目前的“五文码”,也就是我们常说的 EBCAC-5 码。 这码最早是欧洲人发明的,最早出目前 15 世纪的欧洲。

那时候欧洲人把数字的写法搞得挺规整,1 就是一竖,2 是个弯的,3 是个三角形,4 是个 L,5 是个沙漏状。

后来传到美洲,美洲原住民看这些符号认定挺复杂,就把数字换成自己的符号,比如 1 画个圆圈,2 画个十字,3 画个半圆。

后来传到欧洲,欧洲人认定这些符号也怪怪的,就又拿回中文的写法,把那些怪的符号改成了方块,最终才形成了目前这种黑白条纹的样子。

后来传到亚洲,亚洲人认定方块忒丑,又加上了颜色,把黑拿过来代表 0,白代表 1,就这样形成了目前的条形码。 实际上这种演变过程,就是人类对数字表示方式的不断尝试。欧洲人先搞规整,美洲人又搞好办,欧洲人认定好办但丑,亚洲人认定丑但好用,最终大家又结合了一下。目前条形码之故此好用,是出于它把数字表达得既好办又直观。 再说说应用场景。

那会儿买东西,超市里人挤人,收银台排长队,扫码成了刚需。目前手机普及了,加上智能手机摄像头,扫码变得像刷脸一样撇脱。就连不用散码,手机摄像头直接扫二维码,直接支付,不用拿手机去拆码,不用去数钱,省时省力。物流行业更是受益于这个,快递包裹上印个码,快递员扫一下,快递就能直接送到。

那会儿得算清了,目前直接录入系统,效率高了又不出错。 不过,条形码也有它的局限性。

比如码忒长,放在盒子上忒占地方,要么码忒密,扫的时候好办扫偏。

有时候码印歪了,扫出来就是乱码。

有时候码的颜色忒淡,读不出来。

这时候得人工拆码,要么用激光扫描,要么用光学字符识别。别看人工拆码慢,但总归能解决,就是费事点。 总的来说,条形码就是给物体贴的身份证。它没有复杂的逻辑,就是靠黑白对比度来传达信息。从中国古代的方块,到欧洲的字母,再到亚洲的符号,最终走到今天的手机摄像头,原理一直没变,就是应用越来越广泛。下次买东西,看到那个长长的黑白码,不用拆,不用数,扫一扫就完事了。

这就是条形码的魔力。