js中base64编码
1. 使用 Buffer对象
Buffer.from(JSON.stringify(jwtHeader)).toString('base64')
2. 使用base64js.js
/*** base64js Uint8Array 8位无符号整数,长度1个字节,* base64js.byteLength(base64Str) base64字符串转为字节数组的长度* base64js.toByteArray(base64Str) base64字符串转为字节数组* base64js.fromByteArray(bytes) 字节数组转为base64字符串*/
(function (r) {if (typeof exports === "object" && typeof module !== "undefined") {module.exports = r()} else {if (typeof define === "function" && define.amd) {define([], r)} else {var e;if (typeof window !== "undefined") {e = window} else {if (typeof global !== "undefined") {e = global} else {if (typeof self !== "undefined") {e = self} else {e = this}}}e.base64js = r()}}
})(function () {var r, e, t;return function r(e, t, n) {function o(i, a) {if (!t[i]) {if (!e[i]) {var u = typeof require == "function" && require;if (!a && u) {return u(i, !0)}if (f) {return f(i, !0)}var d = new Error("Cannot find module '" + i + "'");throw d.code = "MODULE_NOT_FOUND", d}var c = t[i] = {exports: {}};e[i][0].call(c.exports, function (r) {var t = e[i][1][r];return o(t ? t : r)}, c, c.exports, r, e, t, n)}return t[i].exports}var f = typeof require == "function" && require;for (var i = 0; i < n.length; i++) {o(n[i])}return o}({"/": [function (r, e, t) {t.byteLength = c;t.toByteArray = v;t.fromByteArray = s;var n = [];var o = [];var f = typeof Uint8Array !== "undefined" ? Uint8Array : Array;var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for (var a = 0, u = i.length; a < u; ++a) {n[a] = i[a];o[i.charCodeAt(a)] = a}o["-".charCodeAt(0)] = 62;o["_".charCodeAt(0)] = 63;function d(r) {var e = r.length;if (e % 4 > 0) {throw new Error("Invalid string. Length must be a multiple of 4")}return r[e - 2] === "=" ? 2 : r[e - 1] === "=" ? 1 : 0}function c(r) {return r.length * 3 / 4 - d(r)}function v(r) {var e, t, n, i, a;var u = r.length;i = d(r);a = new f(u * 3 / 4 - i);t = i > 0 ? u - 4 : u;var c = 0;for (e = 0; e < t; e += 4) {n = o[r.charCodeAt(e)] << 18 | o[r.charCodeAt(e + 1)] << 12 | o[r.charCodeAt(e + 2)] << 6 | o[r.charCodeAt(e + 3)];a[c++] = n >> 16 & 255;a[c++] = n >> 8 & 255;a[c++] = n & 255}if (i === 2) {n = o[r.charCodeAt(e)] << 2 | o[r.charCodeAt(e + 1)] >> 4;a[c++] = n & 255} else {if (i === 1) {n = o[r.charCodeAt(e)] << 10 | o[r.charCodeAt(e + 1)] << 4 | o[r.charCodeAt(e + 2)] >> 2;a[c++] = n >> 8 & 255;a[c++] = n & 255}}return a}function l(r) {return n[r >> 18 & 63] + n[r >> 12 & 63] + n[r >> 6 & 63] + n[r & 63]}function h(r, e, t) {var n;var o = [];for (var f = e; f < t; f += 3) {n = (r[f] << 16) + (r[f + 1] << 8) + r[f + 2];o.push(l(n))}return o.join("")}function s(r) {var e;var t = r.length;var o = t % 3;var f = "";var i = [];var a = 16383;for (var u = 0, d = t - o; u < d; u += a) {i.push(h(r, u, u + a > d ? d : u + a))}if (o === 1) {e = r[t - 1];f += n[e >> 2];f += n[e << 4 & 63];f += "=="} else {if (o === 2) {e = (r[t - 2] << 8) + r[t - 1];f += n[e >> 10];f += n[e >> 4 & 63];f += n[e << 2 & 63];f += "="}}i.push(f);return i.join("")}}, {}]}, {}, [])("/")
});
字符串编码
/*** utf8字符串转为字节数组 同java中 String.getBytes(utf8Str)* @param utf8Str* @returns {[]}*/
var utf8StrToBytes = function (utf8Str) {var ens = encodeURIComponent(utf8Str);var es = unescape(ens);var esLen = es.length;// Convertvar words = [];for (var i = 0; i < esLen; i++) {words[i] = es.charCodeAt(i);}return words;
}
/*** 字节数组转为utf8字符串 同java中 new String(bytes)* @param bytesArray* @returns {string}*/
var bytesToUtf8Str = function (bytesArray) {var utf8Byte = bytesArray;var latin1Chars = [];for (var i = 0; i < utf8Byte.length; i++) {latin1Chars.push(String.fromCharCode(utf8Byte[i]));}return decodeURIComponent(escape(latin1Chars.join('')));
}
测试
base64.fromByteArray(utf8StrToBytes('打快点快点')) // 5omT5b+r54K55b+r54K5
//同Java中 org.apache.commons.codec
Base64.encodeBase64String("打快点快点".getBytes()) // 5omT5b+r54K55b+r54K5
3. js中类似java中byte强转int类型
/*** int 转 byte, js中int转byte(-128—127)* @param i 整数*/
var intToByte = function(i) {var b = i & 0xFF;var c = 0;if (b >= 128) {c = b % 128;c = -1 * (128 - c);} else {c = b;}return c
}
```
js中base64编码相关推荐
- Javascript中Base64编码解码的使用实例
Javascript为我们提供了一个简单的方法来实现字符串的Base64编码和解码,分别是window.btoa()函数和window.atob()函数. 1 var encodedStr = win ...
- Vue中base64编码和解码
推荐一个不错的学习资料库 Vue中base64编码和解码 1.在项目更目录下执行命令,安装 npm install --save js-base64 2.在使用的项目引入 let Base64 = r ...
- php中base64和js中base64可互相加解密
php中base64和js中base64可互相加解密 前提:加解密的字符必须转换成UTF-8编码格式. php代码: <?php $str='中国航母辽宁号-歼15战机GOOD=ok'; ech ...
- js实现Base64编码解码
js实现标准的Base64编码解码 Base64 是使用64个可打印ASCII字符(A-Z.a-z.0-9.+./)将任意字节序列数据编码成ASCII字符串,另有"="符号用作后缀 ...
- 猿人学12题超详细解题思路-入门级js(base64编码)
前言:服务器为了防止获取他们的数据,可谓是使用各种方法,js逆向可以很方便的解析出来一些加密数据,毕竟道高一尺魔高一丈,今天告诉大家袁人学第12题的解题思路,超详细解题思路. 需求: ...
- js实现base64编码和解码
文章目录 需求 什么是Base64 编码规则 如何解码 js实现基于base64的编码解码 window自带函数进行Base64编码解码 Base64编码的实际运用 图片base64编码 需求 应公司 ...
- 用 JS 进行 Base64 编码、解码
从IE10+浏览器开始,所有浏览器就原生提供了 Base64 编码.解码方法,不仅可以用于浏览器环境,Service Worker 环境也可以使用. 方法名就是 atob 和 btoa ,具体语法如下 ...
- Vue项目:路由跳转时中文传参被URL编码,怎么解决?用js封装Base64编码解码加密解密
1.在utils中封装js方法,代码如下: var Base64 = { // private property_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZab ...
- JS 中 URL 编码的问题.
URL 编码 为什么要对 URL 编码 1. 避免解析错误 我们的 queryString 的形式是使用 ?开始, key=value 传递参数, key-value pairs 之间使用 & ...
- Java中BASE64 编码
2019独角兽企业重金招聘Python工程师标准>>> BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BAS ...
最新文章
- VALSE 2020来了!60位计算机视觉、模式识别领域的优秀青年学者齐聚一堂
- 17、Spring Boot普通类调用bean【从零开始学Spring Boot】
- mysql基础(DQL语言、DML语言、DDL语言)详解
- SpringBoot_数据访问-简介
- 设计模式C++实现(7)——观察者模式
- 报表没完没了怎么办? | 润乾集算器提效报表开发
- junit5和junit4_JUnit 5 –基础
- Linux 命令 ——less命令
- android Handler Message传递参数,handler子线程和主线程通讯
- 要啥网·商信:一款让所有商业活动一步跨入移动互联时代的APP
- 2021牛客寒假算法基础集训营1,签到题ABFIJ
- 拓端tecdat|python深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列
- ARP欺骗+DNS欺骗
- 光滑曲线_光滑流形初步(2)——切向量与微分
- appcan ajax mysql_appCan折叠列表
- HDU 4461 The Power of Xiangqi
- 虚拟主机能做游戏服务器么,虚拟主机做游戏服务器吗
- 360年会三娘逆袭 女程序员戴假发化妆成-搜狐滚动
- Maven学习笔记,动力节点maven教程随堂笔记(史上最全)
- C语言最-佳存款方案程序(代码原创)