前提:
首先需要明白一點的是:
js前端默認采用utf-16方式編碼;
后台數據加密前將數據轉成了utf-8格式;
如果直接采用:
window.atob //這種方式解密,會出現中文亂碼的情況
所以 jquery 可以引入jQuery.base64.js來解決轉碼的問題:
引入:
<script type="text/javascript" th:src="@{/js/jquery.base64.js}"></script>
您可以查看btoa和atob支持並參考jQuery.base64
if (!window.btoa) window.btoa = $.base64.btoa
if (!window.atob) window.atob = $.base64.atob
用法:
您可以默認定義一些選項,使用以下語法全局設置編碼方式:
$.base64.utf8encode = true;
utf8 編碼和解碼作為全局選項,可能性:
| 選項 | 描述 | 默認 |
|---|---|---|
raw |
如果false它同時編碼/解碼,輸入和輸出。 |
true |
utf8encode |
要僅對輸入進行編碼,您可以將 encodung 設置為true. |
false |
utf8decode |
與上面相同,但用於輸出和解碼。 | false |
您可以通過傳遞額外的參數來覆蓋全局選項:
$.base64[property](<value>, options); / $.base64(<property>, <value>, options);
啟用UTF8-encodingpass true 作為最后一個參數:
$.base64.atob(<value>, true); $.base64('atob', <value>, true);
文件:
官方網址:
https://github.com/yckart/jquery.base64.js
