Base64转码

一.在javascript中如何使用Base64转码

1 var str = 'javascript';
2 
3 window.btoa(str)
4 //转码结果 "amF2YXNjcmlwdA=="
5 
6 window.atob("amF2YXNjcmlwdA==")
7 //解码结果 "javascript"

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

1 var str = "China,中国"
2 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

1 var str = "China,中国";
2 
3 window.btoa(window.encodeURIComponent(str))
4 //"Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ="
5 
6 window.decodeURIComponent(window.atob('Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ='))
7 //"China,中国"

 

原文 :http://www.codeweblog.com/javascript-%E4%BD%BF%E7%94%A8btoa%E5%92%8Catob%E6%9D%A5%E8%BF%9B%E8%A1%8Cbase64%E8%BD%AC%E7%A0%81%E5%92%8C%E8%A7%A3%E7%A0%81/

转载于:https://www.cnblogs.com/qingruozhu/p/7463513.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值