zoukankan      html  css  js  c++  java
  • base64解密加密中文乱码解决

    let Base64 = {
        encode(str) {
            // first we use encodeURIComponent to get percent-encoded UTF-8,
            // then we convert the percent encodings into raw bytes which
            // can be fed into btoa.
            return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
                function toSolidBytes(match, p1) {
                    return String.fromCharCode('0x' + p1);
                }));
        },
        decode(str) {
            // Going backwards: from bytestream, to percent-encoding, to original string.
            return decodeURIComponent(atob(str).split('').map(function (c) {
                return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
            }).join(''));
        }
    };
    
    let encoded = Base64.encode("哈ha"); // "5ZOIaGE="
    let decoded = Base64.decode(encoded); // "哈ha"
    

      react 中使用

    新建文件base.js
    
    // base64解密加密中文乱码解决
    let Base64 = {
        encode(str) {
            // first we use encodeURIComponent to get percent-encoded UTF-8,
            // then we convert the percent encodings into raw bytes which
            // can be fed into btoa.
            return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
                function toSolidBytes(match, p1) {
                    return String.fromCharCode('0x' + p1);
                }));
        },
        decode(str) {
            // Going backwards: from bytestream, to percent-encoding, to original string.
            return decodeURIComponent(atob(str).split('').map(function (c) {
                return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
            }).join(''));
        }
    };
    
    export default Base64
    

      在组件中使用

    //  手动引入base64解密加密中文乱码解决
    import Base64 from "../ways/basecode";


    let encoded = Base64.encode("哈ha"); // "5ZOIaGE="
    let decoded = Base64.decode(encoded); // "哈ha"

      

  • 相关阅读:
    ASP.NET存储Session的StateServer
    EasyUI中DataGrid构建复合表头
    EasyUI使用DataGrid向服务器传参
    CentOS 7 U盘安装问题解决
    对指定表的某一列数据合并单元格
    常用的一些sql
    Oracle数据库表空间常用操作
    修改Oracle redo.log文件的大小
    UOJ 非传统题配置手册
    UOJ552 【UNR #4】同构判定鸭【线性代数,哈希】
  • 原文地址:https://www.cnblogs.com/taxun/p/13397727.html
Copyright © 2011-2022 走看看