EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
EDA365原创 作者:巢影字幕组 & c2 {+ O" f2 z# [4 M
, N0 c( C& j$ i0 D
# D2 O. v8 M) r4 X& w
2 O/ w8 E3 n5 C8 R6 P* j# s( M+ `5 ?$ R$ ~: p: u5 M1 r. j
( e) e% y& b$ o1 k+ L, B! I 不知道从什么时候开始,我们的生活突然之间就充满了二维码,看网页要扫二维码,加好友要扫二维码,现在连楼下卖草莓的大爷都支持扫码支付了。 那么你有没有想过这个长得很奇怪的东西到底是怎么来的?二维码到底是什么原理呢? ! |, q1 k5 _; j+ ~# l) D
# C& S3 Q: F1 L7 ]8 {' V- A5 F
二维码,就是把信息翻译成黑白小方块,然后填到大方块里。这有点类似于中学考试中用的答题卡。 就是把信息变成机器可扫描的图案。当然二维码的原理和答题卡还不太一样。
; M) q8 J5 K4 n0 Y. R- {
) j; d" l! h5 a2 ~ f0 x
我们先来介绍二维码的哥哥条形码,也就是超市收银员扫的那个黑白条,电脑在水平方向上识别粗细不均的黑白条,就能找出藏在其中的商品编号信息。 & X2 U/ b4 _! ]2 k- ]6 N% L
" y& c1 r) V2 p: ^( h+ i/ a
相比只在一个维度上,携带信息的条形码,二维码在水平垂直两个维度上都携带了信 字母、符号等这些字符,换了一身衣服,把它们打扮成了能被手机相机识别的黑白条或块。那么最关键的问题来了,这些字符到底是怎么变成这种二维码图案的呢?这就要提到一个人类具有划时代意义的伟大发明---二进制。 我们平时使用的数字、字母、汉字等各种字符,虽然画风完全不同,但是机智的人类发明了一个方法,使它们都可以被统一转换成由0和1组成的二进制数字序列。这个转换的过程叫做编码。国际上有几套通用的编码规则。
: G! a' Z/ m6 L4 j
今天就用一个例子来感受一下编码是怎么回事儿。比如AB这个由两个英文字母组成的字符。 根据编码规则,每一个独立的英文字母都有唯一的一个十进制数字与之对应。而像【AB】 这样的字符串,只要在对应数字的基础上再做运算, 把运算结果再转化成二进制,整个计算机和互联网文明都是建立在这种二进制编码上的。你现在看的视频,在你的手机里其实也只是一串0和1而已。
2 s/ B. T! C, ~' u4 F6 v" N
我们回到二维码的生成原理上,字符再变成只有零和一组成的数字序列后,再进行一系列优化算法,就得到了最终的二进制编码。 在最后这串编码中,一个0对应的就是一个白色小方块,一个1对应的就是一个黑色小方块。我们把这些小方块按照八个一组填进大方块里。这就是一个完整的可以被手机相机识别的二维码图案了。 ! g1 H* y B. L H
我们看到二维码上都有三个固定的大方块,这个其实是用来给二维码定位的,这样,不论你在哪个方向上扫描二维码,得到的信息都是一样的。 3 d* g; p+ s* F; `
2 ]% j8 r8 n6 V$ N1 z) [
出品|EDA365 作者|巢影字幕组 ; z% R ?9 r: E1 V' U$ S
" w7 ^4 m( U3 O
注:本文为EDA365电子论坛原创文章,未经允许,不得转载
Y( b: u* f c3 Y( t ?' z4 w
4 S: P+ H; T2 E" q7 `
9 A+ x: x0 g7 D |