• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁 > 博客 > 二維碼你天天都在用,你知道原理嗎?

    二維碼你天天都在用,你知道原理嗎?

    發布人:電巢 時間:2022-11-29 來源:工程師 發布文章
    image.png


    不知道從什么時候開始,我們的生活突然之間就充滿了二維碼,看網頁要掃二維碼,加好友要掃二維碼,現在連樓下賣草莓的大爺都支持掃碼支付了。 那么你有沒有想過這個長得很奇怪的東西到底是怎么來的?二維碼到底是什么原理呢?


    二維碼,就是把信息翻譯成黑白小方塊,然后填到大方塊里。這有點類似于中學考試中用的答題卡。 就是把信息變成機器可掃描的圖案。當然二維碼的原理和答題卡還不太一樣。

    image.png


    我們先來介紹二維碼的哥哥條形碼,也就是超市收銀員掃的那個黑白條,電腦在水平方向上識別粗細不均的黑白條,就能找出藏在其中的商品編號信息。


    相比只在一個維度上,攜帶信息的條形碼,二維碼在水平垂直兩個維度上都攜帶了信 字母、符號等這些字符,換了一身衣服,把它們打扮成了能被手機相機識別的黑白條或塊。那么最關鍵的問題來了,這些字符到底是怎么變成這種二維碼圖案的呢?這就要提到一個人類具有劃時代意義的偉****明---二進制。 我們平時使用的數字、字母、漢字等各種字符,雖然畫風完全不同,但是機智的人類發明了一個方法,使它們都可以被統一轉換成由0和1組成的二進制數字序列。這個轉換的過程叫做編碼。國際上有幾套通用的編碼規則。

    今天就用一個例子來感受一下編碼是怎么回事兒。比如AB這個由兩個英文字母組成的字符。 根據編碼規則,每一個獨立的英文字母都有唯一的一個十進制數字與之對應。而像【AB】 這樣的字符串,只要在對應數字的基礎上再做運算, 把運算結果再轉化成二進制,整個計算機和互聯網文明都是建立在這種二進制編碼上的。你現在看的視頻,在你的手機里其實也只是一串0和1而已。

    我們回到二維碼的生成原理上,字符再變成只有零和一組成的數字序列后,再進行一系列優化算法,就得到了最終的二進制編碼。 在最后這串編碼中,一個0對應的就是一個白色小方塊,一個1對應的就是一個黑色小方塊。我們把這些小方塊按照八個一組填進大方塊里。這就是一個完整的可以被手機相機識別的二維碼圖案了。


    我們看到二維碼上都有三個固定的大方塊,這個其實是用來給二維碼定位的,這樣,不論你在哪個方向上掃描二維碼,得到的信息都是一樣的。

    image.png


    *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



    關鍵詞: 二維碼 原理

    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 洪洞县| 孝昌县| 台北市| 农安县| 东源县| 呼玛县| 共和县| 徐水县| 清苑县| 东阳市| 麦盖提县| 贵德县| 罗定市| 龙山县| 应城市| 饶阳县| 阳原县| 永善县| 全南县| 美姑县| 阳原县| 邳州市| 扬州市| 林口县| 清丰县| 鄯善县| 酉阳| 中西区| 城市| 嘉义县| 上饶市| 宣城市| 汶川县| 绥中县| 乌审旗| 霍邱县| 嘉善县| 威远县| 武威市| 亚东县| 民和|