当前位置: 移动技术网 > IT编程>开发语言>JavaScript > javascript使用btoa和atob来进行Base64转码和解码

javascript使用btoa和atob来进行Base64转码和解码

2019年03月20日  | 移动技术网IT编程  | 我要评论

javascript原生的api本来就支持,base64,但是由于之前的javascript局限性,导致base64基本中看不中用。当前html5标准正式化之际,base64将有较大的转型空间,对于html5 api中出现的如filereader api, 拖拽上传,甚至是canvas,video截图都可以实现。

好了,前言说了一大堆,base64转码和解码有哪些方法:

一.我们来看看,在javascript中如何使用base64转码

var str = 'javascript';

window.btoa(str)
//转码结果 "amf2yxnjcmlwda=="

window.atob("amf2yxnjcmlwda==")
//解码结果 "javascript"

二.对于转码来说,base64转码的对象只能是字符串,因此来说,对于其他数据还有这一定的局限性,在此特别需要注意的是对unicode转码。

var str = "china,中国"
window.btoa(str)

uncaught domexception: failed to execute 'btoa' on 'window': the string to be encoded contains characters outside of the latin1 range.

很明显,这种方式是不行的,那么如何让他支持汉字呢,

这就要使用window.encodeuricomponent和window.decodeuricomponent

var str = "china,中国";
window.btoa(window.encodeuricomponent(str))
//"q2hpbmelruylqkmloemlrtqlqjglquqlrtulouilqkq="

window.decodeuricomponent(window.atob('q2hpbmelruylqkmloemlrtqlqjglquqlrtulouilqkq='))
//"china,中国"

btoa与atob的使用方法就是这么简单,大家可以尝试一下。希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持移动技术网!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网