base 64 bug & encodeURIComponent

base64 bug & encodeURIComponent

740516-20190521172606759-702314447.png


window.btoa("jëh²H©¶�%28®");
// "autoskiptoclMjiu"

window.atob("auto skip to corp");
// "jëh²H©¶(®"

window.btoa("jëh²H©¶�(®");
// "autoskiptocorg=="

// window.atob(encodeURIComponent("auto skip to corp"));
//  VM5604:1 Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.
//     at <anonymous>:1:8
// (anonymous) @ VM5604:1

encodeURIComponent("auto skip to corp");
// "auto%20skip%20to%20corp"

decodeURIComponent("auto%20skip%20to%20corp")
"auto skip to corp

vue


    autoSkipToDetailsByType(type = ``, id = ``) {
        // let uid = this.skipUid;
        let text = ``;
        let hash = ``;
        let title = ``;
        // <view id="enterprise"/>
        // <view id="enterprise/special-topics"/>
        // <view id="enterprise/chain"/>
        // <view id="figure/figure-topics"/>
        // <view id="data/details"/>
        // <view id="newsinfo/iframe"/>
        switch (type) {
            case "all":
                text = `auto skip to all`;
                title = "";
                hash = `search`;
                break;
            case "corp":
                text = `auto skip to corp`;
                title = "";
                hash = `enterprise/special-topics`;
                break;
            case "newsinfo":
                text = `auto skip to newsinfo`;
                title = "";
                hash = `newsinfo/iframe`;
                break;
            case "chart":
                text = `auto skip to chart`;
                title = "";
                hash = `enterprise/chain`;
                break;
            case "figure":
                text = `auto skip to figure`;
                title = "";
                hash = `figure/figure-topics`;
                break;
            case "brand":
                text = `auto skip to brand`;
                title = "";
                hash = `data/details`;
                break;
            default:
                break;
        }
        if (id && id.length) {
            // skip
            console.log(text, id);
        } else {
            id = ``;
        }
        let url = window.location.origin;
        Light.navigate(
            `${url}/#/${hash}`,
            {
                message: window.atob(text),
                id,
                // id: id,
            },
            {
                title: title,// 公司 / 资讯 / 链谱 / 人物 / 数据
                replace: false,
            },
        );
    },

转载于:https://www.cnblogs.com/xgqfrms/p/10901159.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值