base64轉碼後的字串應用於url

2021-10-01 16:33:25 字數 1038 閱讀 7989

問題:

base64轉化後的字串中會含有『+』、『/』、『=』這些字元,當把該字串應用於url中時,會影響url的解析

解決:將『+』、『/』、『=』轉化為base64轉化不會生成且不影響url解析的的字元,如『*』、『_』、『-』、『.』 

// base64實現

var base64 = else if (isnan(i))

t = t + this._keystr.charat(s) + this._keystr.charat(o) + this._keystr.charat(u) + this._keystr.charat(a)

} return t

}, decode: function(e)

if (a != 64)

} t = base64._utf8_decode(t);

return t

}, _utf8_encode: function(e) else if (r > 127 && r < 2048) else

} return t

}, _utf8_decode: function(e) else if (r > 191 && r < 224) else

} return t }}

let a = 'asdf123啦啦%%@#+++';

var a = base64.encode(a);

console.log(a); // yxnkzjeym+wvpuwvpiulqcmrkys=

console.log(a.replace(/=/g,'.').replace(/\+/g,'*').replace(/\//g,'-')); // yxnkzjeym*wvpuwvpiulqcmrkys.

js不支援replaceall,所以,要用replace和正則結合實現全域性替換 

str.replace(/要替換的字元/g,替換成的字元);

str.replace(/=/g,'.'); // 把str中所有的=,替換為.

base64轉碼 解碼

最近有業務需要使用base64轉碼,現在整理一下 window.btoawindow.atob示例window.btoa test d zda window.atob d zda test如果字串中包含中文,直接使用btoa會報錯,可以先使用encodeuricomponent進行編碼 window...

物件base64轉碼 Base64編碼轉換

1 為什麼mime要有編碼轉換 在mime總結這篇經驗中,總結了mime相較於rfc 822的擴充套件功能,其中提到了rfc 822的缺陷 非英語字元都不能在電子郵件中使用 2 電子郵件中不能插入二進位制檔案 如 3 電子郵件不能有附件。能夠對文字進行簡單的加密 2 quoted printable...

Linux下Base64轉碼解碼

編碼 echo n ceshi1111 base64 輸出 y2vzagkxmtex 解碼 echo n y2vzagkxmtex base64 d 輸出 ceshi1111 附 base64命令說明 使用 base64 編碼 解碼檔案或標準輸入輸出。w,在指定的字元數後自動換行 預設為76 0 為...