首先: 進行轉碼-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...