掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
假如我們要在網(wǎng)絡(luò)中傳輸下面的問題:

大興安嶺網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
你好 小朋友
我是磚家
你是誰?
這段文本中包含了空格、換行、回車等不可見字符,在網(wǎng)絡(luò)傳輸中,各個設(shè)備對不可見字符處理機制可能不同,會存在信息傳輸錯誤的情況。此時我們就需要一種編碼機制,把不可見字符統(tǒng)統(tǒng)轉(zhuǎn)成可見字符。
接下來我們通過將 abcd二字轉(zhuǎn)為 Base64 編碼,來了解下它的原理。
Q:為什么第一步需要分三個字符一組?
A:因為 ASCII 碼每個字符是 8 位二進制,3 * 8 = 24。正好可以被第三步拆分為 4 個 6 位二進制,4 * 6 = 24。
通過彩虹表,我們可以將每 6 位分割后的二進制做一次轉(zhuǎn)換。
需要注意的是,凡是補位產(chǎn)生的 0,需要用 = 來表示。所以最后的兩位都是 =。
最后 abcd 轉(zhuǎn)換為 Base64 編碼后為 YWJjZA==,整體原理還是比較簡單的,不涉及到高深的算法。
Base58 是比特幣在生成錢包地址時使用的一種編碼形式。它和 Base64 的主要區(qū)別是去掉了肉眼容易看錯的字符 0(零)、O(大寫字母 O)、I(大寫字母 i)、l(小寫字母 L)和幾個影響雙擊選擇的字符:/ 和 + 這種編碼的目的比較簡單,就是防止在轉(zhuǎn)賬時,看錯賬號,轉(zhuǎn)錯賬。Base58 的原理更簡單一些,只涉及到進制的轉(zhuǎn)換,大致步驟如下:
比如 abcd轉(zhuǎn)換:
Base58Check 編碼,顧名思義是可以對 Base58 編碼進行檢查。比如我在傳輸 qH912cvztx編碼時,如果網(wǎng)絡(luò)異常等各種原因,導(dǎo)致數(shù)據(jù)錯亂或丟失,接收方要能夠識別出來數(shù)據(jù)有問題。Base58Check 編碼基本原理如下:

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流