js 转换base64 的方法,支持所有格式。传入下载地址即可

  function toBase64(input: string) {
    var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
    var fromCharCode = String.fromCharCode;
    var cb_utob = function (c: any) {
      if (c.length < 2) {
        var cc: any = c.charCodeAt(0);
        return cc < 128 ? c : cc < 2048 ? (fromCharCode(192 | (cc >>> 6)) + fromCharCode(128 | (cc & 63))) : (fromCharCode(224 | ((cc >>> 12) & 15)) + fromCharCode(128 | ((cc >>> 6) & 63)) + fromCharCode(128 | (cc & 63)))
      } else {
        var cc: any = 65536 + (c.charCodeAt(0) - 55296) * 1024 + (c.charCodeAt(1) - 56320);
        return (fromCharCode(240 | ((cc >>> 18) & 7)) + fromCharCode(128 | ((cc >>> 12) & 63)) + fromCharCode(128 | ((cc >>> 6) & 63)) + fromCharCode(128 | (cc & 63)))
      }
    };
    var _encode = function (u: any) {
      return btoa(utob(String(u)))
    };
    var mkUriSafe = function (b64: any) {
      return b64.replace(/[+\/]/g, function (m0: any) {
        return m0 == "+" ? "-" : "_"
      }).replace(/=/g, "")
    };
    var encode = function (u: any,) {
      return  _encode(u) // mkUriSafe(_encode(u)) ||
    };
    var utob = function (u: any) {
      return u.replace(re_utob, cb_utob)
    };
    return encode(input)
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端_彭于晏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值