• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5原生支持Base64编码解码

HTML5原生支持Base64编码解码

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含代码片段,代码分享,PHP代码分享,Java代码分享,Ruby代码分享,Python代码分享,HTML代码分享,CSS代等相关知识,匿名希望在学习及工作中可以帮助到您
该方法仅支持IE10+、chrome、等现代浏览器。

适合用于原生支持的

(function(){
    var Base64 = {
        encode : function(str){
            return window.btoa(unescape(encodeURIComponent(str)));
        },
        decode : function(str){
            return decodeURIComponent(escape(window.atob(str)));
        }
    };
    window.BASE64 = Base64;
})();

旧版本兼容

(function() {
    if (!window.btoa) {
        var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        window.btoa = function(c) {
            var d = "";
            var m, k, h = "";
            var l, j, g, f = "";
            var e = 0;
            do {
                m = c.charCodeAt(e++);
                k = c.charCodeAt(e++);
                h = c.charCodeAt(e++);
                l = m >> 2;
                j = ((m & 3) << 4) | (k >> 4);
                g = ((k & 15) << 2) | (h >> 6);
                f = h & 63;
                if (isNaN(k)) {
                    g = f = 64
                } else {
                    if (isNaN(h)) {
                        f = 64
                    }
                }
                d = d + a.charAt(l) + a.charAt(j) + a.charAt(g) + a.charAt(f);
                m = k = h = "";
                l = j = g = f = ""
            } while (e < c.length);
            return d
        };
        window.atob = function(c) {
            var d = "";
            var m, k, h = "";
            var l, j, g, f = "";
            var e = 0;
            do {
                l = a.indexOf(c.charAt(e++));
                if (l < 0) {
                    continue
                }
                j = a.indexOf(c.charAt(e++));
                if (j < 0) {
                    continue
                }
                g = a.indexOf(c.charAt(e++));
                if (g < 0) {
                    continue
                }
                f = a.indexOf(c.charAt(e++));
                if (f < 0) {
                    continue
                }
                m = (l << 2) | (j >> 4);
                k = ((j & 15) << 4) | (g >> 2);
                h = ((g & 3) << 6) | f;
                d += String.fromCharCode(m);
                if (g != 64) {
                    d += String.fromCharCode(k)
                }
                if (f != 64) {
                    d += String.fromCharCode(h)
                }
                m = k = h = "";
                l = j = g = f = ""
            } while (e < c.length);
            return d
        }
    }
    var b = {
        encode: function(c) {
            return window.btoa(unescape(encodeURIComponent(c)))
        },
        decode: function(c) {
            return decodeURIComponent(escape(window.atob(c)))
        }
    };
    window.BASE64 = b
})();

您可能想查找下面的文章:

  • 创建漂亮的 CSS 按钮的 10 个代码片段
  • HTML5原生支持Base64编码解码
  • 扁平化的bootstrap

相关文章

  • 2018-12-03推荐5款Canvas.toDataURL特效(收藏)
  • 2018-12-03html5开发表白神器实现代码
  • 2017-08-06HTML5的语法变化介绍
  • 2017-08-06深入浅析HTML5中的SVG
  • 2017-08-06利用HTML5的新特点实现图片文件异步上传
  • 2018-12-03HTML5 Canvas绘制圆点虚线实例_html5教程技巧
  • 2018-12-03html5动画中关于等待加载动画的实例分享
  • 2018-12-03html5跨域通讯之postMessage的用法总结_html5教程技巧
  • 2017-08-06使用HTML5做个画图板的方法介绍
  • 2018-12-03如何使用HTML5实现地理位置的获取

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5之Video标签详解
    • 怎样用canvas实现自定义头像功能
    • JAVE是什么?总结和jave相关的问题实例
    • 淘宝为什么放弃了 HTML5 新的语义化标签的使用?
    • HTML5开发手机应用-详细介绍viewport的作用(图文)
    • 前端工程师目前境况和三年后的发展状况会怎么样呢?
    • Range:HTML5中的新型Input类型
    • 基于纯CSS3纸飞机炫酷动画特效
    • svg和css3实现环形渐变进度条的代码示例
    • 安卓平台的浏览器 touchend 事件触发失效?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有