base64编码相关-btoa和atob及中文乱码报错问题

base64编码相关-btoa和atob及中文乱码报错问题

  • 最近在做二进制编码相关的东西,关于Base64的编码解码问题。遇到了一些问题。

btoa();

  • btoa函数全称就是Binary-to-ASCII,在js中用于Base64编码
let encodedData = window.btoa("WEBGL");
//V0VCR0w=
  • 具体的写法如上所示,接收一个字符串, 其字符分别表示要编码为 ASCII 的二进制数据的单个字节。
  • 返回一个 Base64 表示的字符串。

atob();

  • atob函数全称就是ASCII-to-Binary,在js中用于Base64解码。具体用法如下所示
let encodedData = window.btoa("V0VCR0w=");
//WEBGL
  • 参数为一个Base64表示的字符串,返回值为一个正常的字符串

存在的问题

  • 当然在实际使用中是有问题的,最主要的问题就是*** 不能转换中文 ***,下面介绍解决方法:

encodeURIComponent();

  • 这个函数是在uri中转义除了字母、数字、(、)、.、!、~、*、’、-和_之外的所有字符。示例如下:
console.log(btoa(encodeURIComponent("嘻嘻")));//JUU1JTk4JUJCJUU1JTk4JUJC
  • 解码如下:
 console.log(decodeURIComponent(atob("JUU1JTk4JUJCJUU1JTk4JUJC")));//嘻嘻
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值