JS處理base64編碼

2021-09-01 19:48:14 字數 1580 閱讀 2849

因為專案需求,需要處理base64編碼,再次記錄,便於之後呼叫

關於base64:

base64的本質就是把每8位的ascii編碼變成另外乙個每6位的編碼,用另外乙個參照表進行對應翻譯。

以下為base64的js:

var base64 =  else if (code >= 0x0080 && code <= 0x07ff)  else if (code >= 0x0800 && code <= 0xffff)  else if (code >= 0x00010000 && code <= 0x001fffff)  else if (code >= 0x00200000 && code <= 0x03ffffff)  else /** if (code >= 0x04000000 && code <= 0x7fffffff)*/ 

}return res.join('');

},utf8toutf16 : function(str) else if (((code >> 5) & 0xff) == 0x6) else if (((code >> 4) & 0xff) == 0xe) else if (((code >> 3) & 0xff) == 0x1e) else if (((code >> 2) & 0xff) == 0x3e) else /** if (((code >> 1) & 0xff) == 0x7e)*/

}return res.join('');

},encode : function(str)

var utf8 = this.utf16toutf8(str); // 轉成utf8

var i = 0; // 遍歷索引

var len = utf8.length;

var res = ;

while (i < len)

var c2 = utf8.charcodeat(i++);

// 需要補1個=

if (i == len)

var c3 = utf8.charcodeat(i++);

res.push(this.table[((c1 & 0x3) << 4) | ((c2 >> 4) & 0x0f)]);

res.push(this.table[((c2 & 0x0f) << 2) | ((c3 & 0xc0) >> 6)]);

res.push(this.table[c3 & 0x3f]);

}return res.join('');

},decode : function(str)

var len = str.length;

var i = 0;

var res = ;

while (i < len)

if (code4 != -1)

}return this.utf8toutf16(res.join(''));

}};

先引入js:

直接使用其中的方法:

base64.decode(content);
在中直接將src設定為你的base64就可以實現解碼顯示了。

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...