不为别的,只为做一个连自己都羡慕的人

js实现base64转换

有三种方式

1.第一种是使用jquery的base64.js,在https://github.com/beatgammit/base64-js 上下载base64.js

使用如下命令对数据进行base64的编码与解码:

加密使用:Base64.encode(con);

解密使用:Base64.decode(con);

案例如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="javascripts/base64.js"></script>
<script src="javascripts/jquery.min.js"></script>
</head>
<body>
<input type="text" class="content">
<button onclick='submit()'>加密</button>
<button onclick="showtext()">解密</button>
<script>
var encodeStr = '';
function submit() {
let con = document.querySelector('.content').value;
encodeStr= Base64.encode(con);
console.log(encodeStr);
$.ajax({
method: 'GET',
url: '/test',
data: {
title:encodeStr
},
success:function(res) {
console.log(res)
}
})
}

// 解密
function showtext() {
var decodeStr = Base64.decode(encodeStr);
console.log(decodeStr);
}
 
</script>
</body>
</html>

2.使用js自带的转为base64的方法:

js中内置的base64编码和解码。

var encodedData = window.btoa("Hello, world"); // 编码
var decodedData = window.atob(encodedData); // 解码

兼容性IE10以上和其他浏览器都支持,还是相对不错的,要是移动端都支持。

借两张 MDN的图片,要是真遇到IE怎么办,引入polyfill库,引入第三方库,或者直接不进行编码。

3.node中自带的base64编码与解码方法

node中自带的base64的编码与解码分为三种:普通字符串/十六进制/图片

(1)普通字符串

//编码
new Buffer(String).toString('base64');

//解码
new Buffer(base64Str, 'base64').toString();
(2)十六进制Hex
//编码
new Buffer(String, 'base64').toString('hex');

//解码
new Buffer(base64Str, 'hex').toString('utf8');
(3)图片
const fs = require('fs');
//编码
function base64_encode(file) {
    let bitmap = fs.readFileSync(file);
    return new Buffer(bitmap).toString('base64');
}

//解码
function base64_decode(base64str, file) {
    var bitmap = new Buffer(base64str, 'base64');
    fs.writeFileSync(file, bitmap);
}

 

posted @ 2020-05-13 17:36  升级打怪  阅读(34171)  评论(0编辑  收藏  举报