前提:
首先需要明白一点的是:
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-encoding
pass true 作为最后一个参数:
$.base64.atob(<value>, true); $.base64('atob', <value>, true);
文件:
官方网址:
https://github.com/yckart/jquery.base64.js