zoukankan      html  css  js  c++  java
  • 利用window对象自带atob和btoa方法进行base64的编码和解码

    项目中一般需要将表单中的数据进行编码之后再进行传输到服务器,这个时候就需要base64编码

    现在可以使用window自带的方法window.atob() 和  window.btoa()  方法进行

    但是遇到中文就会出现乱码问题

    在其他博客中找到一个使用window方法并且不出现乱码的方法   github也在使用;如下代码

    function utf8_to_b64(str) {
        return window.btoa(unescape(encodeURIComponent(str)));
    }
    
    function b64_to_utf8(str) {
        return decodeURIComponent(escape(window.atob(str)));
    }
    
    // Usage:
    utf8_to_b64('✓ à la mode'); // JTI1dTI3MTMlMjUyMCUyNUUwJTI1MjBsYSUyNTIwbW9kZQ==
    b64_to_utf8('JTI1dTI3MTMlMjUyMCUyNUUwJTI1MjBsYSUyNTIwbW9kZQ=='); // "✓ à la mode"
    
    utf8_to_b64('I u2661 Unicode!'); // SSUyNTIwJTI1dTI2NjElMjUyMFVuaWNvZGUlMjUyMQ==
    b64_to_utf8('SSUyNTIwJTI1dTI2NjElMjUyMFVuaWNvZGUlMjUyMQ=='); // "I ♡ Unicode!"
    

      参考链接:https://blog.csdn.net/abxn2002/article/details/50887594

    如下是在caniuse上面得到的兼容列表

  • 相关阅读:
    TCP协议详解-IPv4
    welcome to my cnblog
    怎样解决闭包造成的内存泄漏
    跳转路由后请求失败
    vant grid组件图片加载问题
    3次握手
    res.send()传参----Invalid status code: 1
    堆栈总结
    jQuery实现全选
    phpstudy_pro打开MySQL服务,一闪一闪的
  • 原文地址:https://www.cnblogs.com/qqfontofweb/p/8986978.html
Copyright © 2011-2022 走看看