前提:

首先需要明白一点的是:

  js前端默认采用utf-16方式编码;

  后台数据加密前将数据转成了utf-8格式;

如果直接采用:

window.atob //这种方式解密,会出现中文乱码的情况

所以 jquery 可以引入jQuery.base64.js来解决转码的问题:

 

引入:

<script type="text/javascript" th:src="@{/js/jquery.base64.js}"></script>

 

您可以查看btoaatob支持并参考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);

文件:

 jquery.base64.js-master.zip

官方网址:

https://github.com/yckart/jquery.base64.js

posted on 2021-09-02 10:52  幂次方  阅读(3635)  评论(0)    收藏  举报