javascript原生的api本来就支持Base64,但是由于之前的javascript局限性,导致Base64基本中看不中用。当前html5标准正式化之际,Base64将有较大的转型空间,对于Html5 Api中出现的如FileReader Api, 拖拽上传,甚至是Canvas,Video截图都可以实现。

好了,前言说了一大堆,Base64转码和解码有哪些方法:

一.我们来看看,在javascript中如何使用Base64转码

var str = 'javascript';window.btoa(str)
//转码结果 "amF2YXNjcmlwdA=="window.atob("amF2YXNjcmlwdA==")
//解码结果 "javascript"

二.对于转码来说,Base64转码的对象只能是字符串,因此来说,对于其他数据还有这一定的局限性,在此特别需要注意的是对Unicode转码。

var str = "China,中国"
window.btoa(str)

Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.

很明显,这种方式是不行的,那么如何让他支持汉字呢,

这就要使用window.encodeURIComponent和window.decodeURIComponent

var str = "China,中国";
window.btoa(window.encodeURIComponent(str))
//"Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ="window.decodeURIComponent(window.atob('Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ='))
//"China,中国"

btoa与atob的使用方法就是这么简单,大家可以尝试一下。

JavaScript window对象之atob()和btoa()相关推荐

  1. JavaScript window 对象详解

    1. 概述 window对象 指当前的浏览器窗口,它也是当前页面的顶层对象,即最高一层的对象,所有其他对象都是它的下属. 一个变量如果未声明,那么默认就是顶层对象的属性. // a是一个没有声明就直接 ...

  2. JavaScript window对象常用方法

    1.open() 格式:window.open(URL,windowname) URL:目标链接地址 windowname:新窗口名称 <!DOCTYPE HTML PUBLIC "- ...

  3. Javascript window 对象 + 浮动广告

    window 浏览器窗口对象, 不用创建就能使用 1.属性 status opener closed parent 父窗体 top 顶层窗体 2.方法 alert(); confirm(); prom ...

  4. atob和btoa的趣谈

    2019独角兽企业重金招聘Python工程师标准>>> 不了解的人突然看到window对象的atob和btoa 函数,估计会认为哪个臭小子添加全局函数了. 你如果告诉他这是原生函数, ...

  5. JavaScript Window Screen

    JavaScript是一种广泛使用的客户端脚本语言,用于在网页中实现动态效果和交互功能.JavaScript可以使用浏览器提供的API来访问和操作网页中的各个元素,例如文本框.按钮.图片等.其中,Wi ...

  6. js的window对象与属性的使用

    1.BOM的概述     browser object modal :浏览器对象模型.     浏览器对象:window对象.     Window 对象会在 <body> 或 <f ...

  7. JavaScript函数与Window对象

     JavaScript函数与Window对象 一.函数的使用 函数的含义:类似于Java中的方法,是完成特定任务的代码语句块   ◆常用系统函数: parseInt ("字符串") ...

  8. javascript之window对象详解

    window对象有以下方法: open  close  alert   confirm   prompt   setTimeout  clearTimeout   setInterval   clea ...

  9. javascript之window对象

    window :window对象是BOM中所有对象的核心,除了是BOM中所有对象的父对象外,还包含一些窗口控制函数. 1.全局的window对象 JavaScript中的任何一个全局函数或变量都是wi ...

最新文章

  1. GitHub分享新华字典数据集
  2. request.getRemoteAddr()和request.getRemoteHost()
  3. cmd文件内容添加到文件内容命令
  4. [bzoj3143] [HNOI2013]游走
  5. 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南...
  6. ElemenUi搜索数据时如何重置输入框的内容
  7. c#操作数据库(二)dataAdapter篇
  8. 10 个不可不知的 Python 图像处理工具 !
  9. js表单验证,给出友好的提示
  10. 随手记_搞科研怎样读论文
  11. MDM数据清洗功能开发说明
  12. 金蝶K3即时库存成本计算逻辑是什么?
  13. 再次定义手机摄影:华为P40系列国内正式发布
  14. 最大熵模型怎么理解?熵是什么??
  15. 为什么我喜欢用C++写算法
  16. python入门:缺省函数
  17. 关于WayOs中无线覆盖中WEB认证存在的一些问题
  18. 冷原子量子计算机,量子计算新突破:在71个格点超冷原子量子模拟器中求解施温格方程...
  19. AnyCasting.2.4[铸造模拟软件最新+天喻CAD2005完美
  20. 为什么火线魔盒显示服务器繁忙,火线魔盒的使用方法是什么

热门文章

  1. 【MQTT基础篇(一)】MQTT介绍
  2. MyEclipse编辑区设置为黑底
  3. 2020年每个Web开发人员必须知道的9种Web技术
  4. 中英文数字混合的复合格式处理
  5. 【C语言】函数的数组传参
  6. 计算机大赛算法,计算机经典算法——锦标赛排序算法
  7. Unity|一键复制log日志|小技巧
  8. 一篇实验结果统计检验入门文档
  9. python爬虫项目-优美图库
  10. 中国石油大学《工程概预算与招投标》第一阶段在线作业