【JavaScript原生提供两个Base64相关方法】

  1. btoa():字符串或二进制值转为Base64编码

  2. atob():Base64编码转为原来的编码

备注:利用这两个原生方法,我们来封装一下,标题需求

【使用函数方式】

var str = '怪诞咖啡';
console.log(encode(str));//JUU2JTgwJUFBJUU4JUFGJTlFJUU1JTkyJTk2JUU1JTk1JUEx
console.log(decode(encode(str)));//怪诞咖啡
// 字符串转base64
function encode(str){
// 对字符串进行编码
var encode = encodeURI(str);
// 对编码的字符串转化base64
var base64 = btoa(encode);
return base64;
}
// base64转字符串
function decode(base64){
// 对base64转编码
var decode = atob(base64);
// 编码转字符串
var str = decodeURI(decode);
return str;
}

【使用对象方式】

var base64 = {
encode(str){
// 对字符串进行编码
var encode = encodeURI(str);
// 对编码的字符串转化base64
var base64 = btoa(encode);
return base64;
},
decode(base64){
// 对base64转编码
var decode = atob(base64);
// 编码转字符串
var str = decodeURI(decode);
return str;
}
};
// 字符串转base64
console.log(base64.encode('怪诞咖啡'));//JUU2JTgwJUFBJUU4JUFGJTlFJUU1JTkyJTk2JUU1JTk1JUEx
// base64转字符串
console.log(base64.decode(base64.encode('怪诞咖啡')));//怪诞咖啡

【聊聊】

之前我摘录过一个base64转换博客,其实没怎么看,看了也没懂(嘿嘿);反正拿过来就用就对了,今天在研究JS,字符串相关知识的时候,发现了这两个宝贝,怎么说呢,这两个东东不在《JavaScript高级程序设计》中,《JavaScript权威指南》也没有;具体的就不深入了解了,慢慢来,继续往下研究

字符串转base64,base64转字符串的更多相关文章

  1. 使用commons-codec包加密字符串(MD5,SHA1,BASE64)

    1. [代码]MD5 String str = "abc"; DigestUtils.md5Hex(str); //附.net生成MD5的方法,生成内容跟java一致: Strin ...

  2. 字符串编码、Base64字符串 互转

    /// <summary>  /// 将字符串编码为Base64字符串  /// </summary>  /// <param name="str"& ...

  3. android与php使用base64加密的字符串结果不一样解决方法

    base64将字符串转换为字节得到同一个值 一.错误 String signString = Base64.encodeToString(signContent.getBytes(),Base64.N ...

  4. 将图片转换为Base64编码的字符串

    图片以文件的形式存在,可以在表单中使用. 也可以转换成Base64编码的字符串,从而在css.js中以字符串的形式使用图片.例如,在css中设置背景图片.在js中用ajax上传图片. <!DOC ...

  5. C# 在网页中将Base64编码的字符串显示成图片

    在写一个接口,返回的json里面有图片,是Base64编码的字符串. 测试接口的时候,发现原来在html显示,是直接可以将Base64编码的字符串显示成图片的. 格式如下: <img src=d ...

  6. java将pdf转成base64字符串及将base64字符串反转pdf

    package cn.wonders.utils; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;imp ...

  7. Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示

    Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示 在 开发中遇到应用c#及asp.net的在的webservice 保存图片并以xml文件形式现实出来 ...

  8. django删除表重建&修改用户密码&base64加密解密字符串&ps aux参数说明&各种Error例子

    1.django的queryset不支持负索引 AssertionError: Negative indexing is not supported. 2.django向前端JavaScript传递列 ...

  9. base64加解密字符串

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...

  10. base64编码的字符串与图片相互转换

    #region 图片转为base64编码的字符串---ImgToBase64String /// <summary> /// 图片转为base64编码的字符串 /// </summa ...

随机推荐

  1. angular项目中使用ngSemantic

    npm install ng-semantic --save npm install jquery --save 下载 Official Semantic UI bundle ( .zip ) fro ...

  2. popstate实现history路由拦截,监听页面返回事件

    1.当活动历史记录条目更改时,将触发popstate事件. 如果被激活的历史记录条目是通过对history.pushState()的调用创建的, 或者受到对history.replaceState() ...

  3. CPU运行时间——time

    用途说明time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date命令干的事情).但是今天我通过查看time命令的手册页,发现它能做的不仅仅是测量运行时间,还可以测量内存 ...

  4. effective c++读书笔记(一)

    很早之前就听过这本书,找工作之前读一读.看了几页,个人感觉实在是生涩难懂,非常不符合中国人的思维方式.之前也有博主做过笔记,我来补充一些自己的理解. 我看有人记了笔记,还不错:http://www.3 ...

  5. DNS使用TCP还是UDP?

    DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.下面将介绍DNS分别在什么情况下使用这两种协议. TCP与UDP简介    TCP ...

  6. cfg 4 ocl

    http://blog.sina.com.cn/s/blog_6c868c470102v15y.html rnnlib真难装 http://sourceforge.net/p/rnnl/wiki/Ho ...

  7. NIO-3网络通信(非阻塞)

    import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import ja ...

  8. [实战]MVC5+EF6+MySql企业网盘实战(10)——新建文件夹

    写在前面 上篇文章更新了编辑了文件名的操作,本片文章将实现新建文件夹的功能. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战 ...

  9. “裕同集团&易普优APS项目启动大会”顺利召开

    “裕同集团&易普优APS项目启动大会”顺利召开 ——易普优APS助力裕同集团实现精益生产 2017年7月05日,“裕同集团&易普优APS项目启动大会”顺利召开,裕同集团高级王副总裁.I ...

  10. ceph笔记(一)

    一.ceph概述本质上是rados:可靠的.自动的.分布式对象存储特性:高效性(大型的网络raid,性能无限接近raid).统一性(支持文件存储.块存储.对象存储).可扩展性数据库的一个弱点:查表ce ...