原生 JS 的 Base64 转码
程序员文章站
2022-05-31 15:37:45
JavaScript 原生提供两个 Base64 相关的方法: btoa():任意值转为 Base64 编码 atob():Base64 编码转为原来的值 encodeURIComponent() 该方法会转码除了语义字符之外的所有字符,即元字符也会被转码。 decodeURIComponent() ......
javascript 原生提供两个 base64 相关的方法:
btoa()
:任意值转为 base64 编码atob()
:base64 编码转为原来的值
注意:这两个方法不适合非 ascii 码的字符,会报错。
要将非 ascii 码字符转为 base64 编码,必须中间插入一个转码环节:
- encodeuricomponent() 该方法会转码除了语义字符之外的所有字符,即元字符也会被转码。
base64 编码转为原来的值时,同样需要转码:
- decodeuricomponent() 该方法是
encodeuricomponent()
方法的逆运算。
示例:
const str = "hello, world!"; const strtobase64 = btoa(encodeuricomponent(str)); console.log(strtobase64); // sgvsbg8lmkmlmjb3b3jszce= const base64tostr = decodeuricomponent(atob(strtobase64)); console.log(base64tostr); // hello, world!
上一篇: 喉喉痛怎么办? 十个小方法快速缓解疼痛
推荐阅读