美文网首页
JavaScript把中文转Base64编码

JavaScript把中文转Base64编码

作者: Kevin丶CK | 来源:发表于2019-02-19 17:11 被阅读0次

    Base64 就是一种编码方法,可以将任意值转成 0~9、A~Z、a-z、+和/这64个字符组成的可打印字符。使用它的主要目的,不是为了加密,而是为了不出现特殊字符,简化程序的处理。
    JavaScript 原生提供两个 Base64 相关的方法。
    btoa():任意值转为 Base64 编码
    atob():Base64 编码转为原来的值

       let string = 'Hello World!';
       let strBase64=btoa(string) // "SGVsbG8gV29ybGQh"
       console.log(atob(strBase64)); // "Hello World!"
    

    但是要是非 ASCII 码的字符,会报错

       let string = '你好!';
       let strBase64=btoa(string) 
       console.log(atob(strBase64)); 
    

    要将非 ASCII 码字符转为 Base64 编码,必须中间插入一个转码环节,再使用这两个方法。

     function b64Encode(str) {
            return btoa(encodeURIComponent(str));
        }
        function b64Decode(str) {
            return decodeURIComponent(atob(str));
        }
        
        let strChinaBase64 = b64Encode('你好'); // "JUU0JUJEJUEwJUU1JUE1JUJE"
        console.log(b64Decode(strChinaBase64)); // "你好"
    

    相关文章

      网友评论

          本文标题:JavaScript把中文转Base64编码

          本文链接:https://www.haomeiwen.com/subject/hpufyqtx.html