博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js版base64()
阅读量:5057 次
发布时间:2019-06-12

本文共 1155 字,大约阅读时间需要 3 分钟。

网上有很多版都不好用,终于找到个正确的粘下来备用

方法调用 base64encode(str);

=================================================================================

//验证可用(此str已经转为ascii码,未转码的需先charCodeAt())

function base64encode(str) {
    var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    var out, i, len;
    var c1, c2, c3;
    len = str.length;
    i = 0;
    out = "";
    while (i < len) {
        c1 = str[i++] & 0xff;//str.charCodeAt(i++)& 0xff;转ascii码
        if (i == len) {
            out += base64EncodeChars.charAt(c1 >> 2);
            out += base64EncodeChars.charAt((c1 & 0x3) << 4);
            out += "==";
            break;
        }
        c2 = str[i++];//str.charCodeAt(i++)
        if (i == len) {
            out += base64EncodeChars.charAt(c1 >> 2);
            out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
            out += base64EncodeChars.charAt((c2 & 0xF) << 2);
            out += "=";
            break;
        }
        c3 = str[i++];//str.charCodeAt(i++)
        out += base64EncodeChars.charAt(c1 >> 2);
        out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
        out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
        out += base64EncodeChars.charAt(c3 & 0x3F);
    }
    return out;
}

转载于:https://www.cnblogs.com/Zhaowh/archive/2013/05/03/3056614.html

你可能感兴趣的文章
eclipse 自定义布局
查看>>
团队项目开发客户端——登录子系统的设计
查看>>
【AppScan心得】IBM Rational AppScan 无法记录登录序列
查看>>
[翻译] USING GIT IN XCODE [4] 在XCODE中使用GIT[4]
查看>>
简化通知中心的使用
查看>>
SpringMVC的@Validated校验注解使用方法
查看>>
Python之os模块
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
【蓝桥杯】PREV-21 回文数字
查看>>
html 简介
查看>>
python使用上下文对代码片段进行计时,非装饰器
查看>>
js中比较实用的函数用法
查看>>
深入理解CPP与C中bsearch函数的用法
查看>>
安装预览版镜像后无法检测到预览版更新的解决方案
查看>>
【bzoj5099】[POI2018]Pionek 双指针法
查看>>
别让安全问题拖慢了 DevOps!
查看>>
UML各种线的含义
查看>>
C#,二分法,BinarySearch()
查看>>
Cache-and-Collect Lifecycle Management in Ninject 2.0
查看>>
洛谷 P2693 [USACO1.3]号码锁 Combination Lock
查看>>