隨筆 base64編碼

2021-10-12 05:11:16 字數 884 閱讀 4755

首先: 進行轉碼-btoa(window.encodeuricomponent(字串))

(如果不是字串可以通過json.stringify()先轉成字串)

encodeuricomponent: 編碼成ascii字串行

btoa: 編碼為base64

然後: 進行解碼-window.decodeuricomponent(atob(字串))

decodeuricomponent: encodeuricomponent的解碼函式

atob: btoa的解碼函式

為什麼需要兩個編碼跟解碼:因為轉換base64的btoa 以及 atob是不支援中文的,所以必須先將中文編碼成ascii字元才能順利進行base64編碼

var reader = new filereader();

reader.readasdataurl(檔案);

filereader自帶了檔案上傳的引數,從input獲取的檔案可以直接通過readasdataurl進行讀取提交

var canvas = document.getelementbyid(canvas物件);

base64路徑= canvas.todataurl();

let canvas = document.createelement("canvas");

canvas.width = image.width;

canvas.height = image.height;

canvas.getcontext("2d").drawimage(路徑, 0, 0);

canvas.todataurl()

所有的base64的編碼後,j就算使用gzip壓縮傳遞的資料大小也會增加,所以使用時需要確定資料庫能否存入變大後的資料

base64編碼 動畫演示 Base 64 編碼

base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...

Base64編碼演算法

base64要求把每三個8bit的位元組轉換為四個6bit的位元組 3 8 4 6 24 然 後把6bit再添兩位高位0,組成四個8bit的位元組,也就是說,轉換後的字串理 論上將要比原來的長1 3。轉換後,我們用乙個碼表來得到我們想要的字串 也就是最終的base64編碼 這個表是這樣的 0 a 1...

Base64編碼演算法

base64 construe aaaaaaaa bbbbbbbb cccccccc dddddddd ffffffff 3byte to 4byte is encode 00aaaaaa 00aabbbb 00bbbbcc 00cccccc 3byte newlen 4 00aaaaaa 00aa...