Base64 的 JavaScript 实现 js-base64

base64.js 是 Base64 的 JavaScript 实现。

wiki上给的解释:

https://en.wikipedia.org/wiki/Base64

编码规则 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24 位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节。这时在最后一组填充1到2个0字节。并在最后编码完成后在结尾添加1到2个 “=”。

直接引入:

<script src="base64.js"></script>

例子:

Base64.encode('http://www.baidu.com');  // aHR0cDovL3d3dy5iYWlkdS5jb20=
Base64.encode('百度');    // 55m+5bqm
Base64.encodeURI('http://www.baidu.com'); // aHR0cDovL3d3dy5iYWlkdS5jb20

Base64.decode('aHR0cDovL3d3dy5iYWlkdS5jb20=');  //  http://www.baidu.com
Base64.decode('55m+5bqm');  // 百度
Base64.decode('aHR0cDovL3d3dy5iYWlkdS5jb20');  // http://www.baidu.com

github源代码:

https://github.com/dankogai/js-base64

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏進无尽的文章

编码篇-低耦合代码注入

我下面要将的内容也许网上已经有很多相关的介绍了,但是我还是会写出这篇文章,一来是对自己学习的总结,虽然总结的有些晚,如果你仔细看,会发现我的文章有别处没有的内容...

1022
来自专栏对角另一面

lodash源码分析之数组的差集

本文为读 lodash 源码的第十七篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash

1174
来自专栏达摩兵的技术空间

经典面试题:数组去重

1681
来自专栏运维小白

linux基础(day28)

9.6 awk(上) awk工具 head -n2 test.txt|awk -F ':' '{print $1}' head -n2 test.txt|awk...

2086
来自专栏java初学

海量数据处理

46114
来自专栏程序员宝库

JDK 源码中的一些“小技巧”

均摘选自JDK源码 1 i++ vs i-- String源码的第985行,equals方法中: while (n--!= 0) { if...

3455
来自专栏数据结构与算法

cf444E. DZY Loves Planting(并查集)

然后cf正解居然是网络流??出给NOIP模拟赛T1???¥%……&((……%&((

1203
来自专栏大内老A

.NET Core采用的全新配置系统[4]: “Options模式”下各种类型的Options对象是如何绑定的?

旨在生成Options对象的配置绑定实现在IConfiguration接口的扩展方法Bind上。配置绑定的目标类型可以是一个简单的基元类型,也可以是一个自定义数...

1967
来自专栏Spark学习技巧

Flink DataSet编程指南-demo演示及注意事项

Flink中的DataStream程序是对数据流进行转换的常规程序(例如,过滤,更新状态,定义窗口,聚合)。数据流的最初的源可以从各种来源(例如,消息队列,套接...

3.4K12
来自专栏逍遥剑客的游戏开发

在C#中派生C++的抽象类

2134

扫码关注云+社区