btoa java,JavaScript用btoa和atob来编码解码Base64

本文介绍了JavaScript中window对象的btoa和atob函数,用于Base64编码和解码。文章指出,这两个函数不支持Unicode字符,但可以通过先使用encodeURIComponent编码非Latin1字符来解决此问题。此外,由于IE9不支持btoa和atob,文章提供了针对IE9的兼容性解决方案,并展示了自定义Base64对象的使用方法,以实现更广泛的字符编码和解码功能。
摘要由CSDN通过智能技术生成

btoa和atob是window对象的两个函数,其中btoa是binary to ascii,用于将binary的数据用ascii码表示,即Base64的编码过程,而atob则是ascii to binary,用于将ascii码解析成binary数据,看一个例子:

// Define the string

var string = 'Hello World!';

// Encode the String

var encodedString = btoa(string);

console.log(encodedString); // Outputs: "SGVsbG8gV29ybGQh"

// Decode the String

var decodedString = atob(encodedString);

console.log(decodedString); // Outputs: "Hello World!"

可以看到,字符串“Hello World!”已被Base64编码和解码。但是,atob和btoa不能编码Unicode字符:

var string = "Hello, 中国!";

window.btoa(string);

c75dd56c5870eaece832aaa5db7f83d5.png

那如何用这种方式支持汉字呢?这里我们可以先将带有非Latin1字符的串先用encode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值