JavaScript window对象之atob()和btoa()
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()相关推荐
- JavaScript window 对象详解
1. 概述 window对象 指当前的浏览器窗口,它也是当前页面的顶层对象,即最高一层的对象,所有其他对象都是它的下属. 一个变量如果未声明,那么默认就是顶层对象的属性. // a是一个没有声明就直接 ...
- JavaScript window对象常用方法
1.open() 格式:window.open(URL,windowname) URL:目标链接地址 windowname:新窗口名称 <!DOCTYPE HTML PUBLIC "- ...
- Javascript window 对象 + 浮动广告
window 浏览器窗口对象, 不用创建就能使用 1.属性 status opener closed parent 父窗体 top 顶层窗体 2.方法 alert(); confirm(); prom ...
- atob和btoa的趣谈
2019独角兽企业重金招聘Python工程师标准>>> 不了解的人突然看到window对象的atob和btoa 函数,估计会认为哪个臭小子添加全局函数了. 你如果告诉他这是原生函数, ...
- JavaScript Window Screen
JavaScript是一种广泛使用的客户端脚本语言,用于在网页中实现动态效果和交互功能.JavaScript可以使用浏览器提供的API来访问和操作网页中的各个元素,例如文本框.按钮.图片等.其中,Wi ...
- js的window对象与属性的使用
1.BOM的概述 browser object modal :浏览器对象模型. 浏览器对象:window对象. Window 对象会在 <body> 或 <f ...
- JavaScript函数与Window对象
JavaScript函数与Window对象 一.函数的使用 函数的含义:类似于Java中的方法,是完成特定任务的代码语句块 ◆常用系统函数: parseInt ("字符串") ...
- javascript之window对象详解
window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clea ...
- javascript之window对象
window :window对象是BOM中所有对象的核心,除了是BOM中所有对象的父对象外,还包含一些窗口控制函数. 1.全局的window对象 JavaScript中的任何一个全局函数或变量都是wi ...
最新文章
- GitHub分享新华字典数据集
- request.getRemoteAddr()和request.getRemoteHost()
- cmd文件内容添加到文件内容命令
- [bzoj3143] [HNOI2013]游走
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南...
- ElemenUi搜索数据时如何重置输入框的内容
- c#操作数据库(二)dataAdapter篇
- 10 个不可不知的 Python 图像处理工具 !
- js表单验证,给出友好的提示
- 随手记_搞科研怎样读论文
- MDM数据清洗功能开发说明
- 金蝶K3即时库存成本计算逻辑是什么?
- 再次定义手机摄影:华为P40系列国内正式发布
- 最大熵模型怎么理解?熵是什么??
- 为什么我喜欢用C++写算法
- python入门:缺省函数
- 关于WayOs中无线覆盖中WEB认证存在的一些问题
- 冷原子量子计算机,量子计算新突破:在71个格点超冷原子量子模拟器中求解施温格方程...
- AnyCasting.2.4[铸造模拟软件最新+天喻CAD2005完美
- 为什么火线魔盒显示服务器繁忙,火线魔盒的使用方法是什么