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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

javascript使⽤btoa和atob来进⾏Base64转码和解码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的使⽤⽅法就是这么简单,⼤家可以尝试⼀下。

希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,同时也希望多多⽀持!。

相关文档
最新文档