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上面得到的兼容列表

  • 相关阅读:
    浅谈P2P
    一串字符的解密
    下载地址解密
    初探DirectX
    本文介绍在VC 6.0中编译和使用OpenSSL的过程
    鱼钩绑线视频
    PKCS cer 证书
    02、创建顶点缓冲
    [原]SSL 开发简述(Delphi)
    [转]Delphi和C++数据类型对照表
  • 原文地址:https://www.cnblogs.com/qqfontofweb/p/8986978.html
Copyright © 2011-2022 走看看