html5开发常用的对象有:FileReader FormData File URL Blob createObjectURL Uint8Array等,这些在日常开发中,需要做图片转base64,base64转而二进制文件,页面截图让用户下载。
atob() 方法用于解码使用 base-64 编码的字符串。base-64 编码使用方法是 btoa() 。
var str = 'RUNOOB'
var enc = window.btoa(str)
var dec = window.atob(enc)
var res = '编码字符串为: ' + enc + '<br>' + '解码后字符串为: ' + dec
DataURL转二进制:Base64/Uint8Array
function dataURLtoBlob (dataurl) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new Blob([u8arr], {
type: mime
})
}
DataURL,如base64 图片, “data:image/png;base64,****”,逗号之前都是一些说明性的文字,我们只需要逗号之后的就行了
function dataURLtoFile (dataurl, filename) {
// 风格字符串 data:image/png;base64,****”
var arr = dataurl.split(',')
// 获取文件类型 data:text/plain;
var mime = arr[0].match(/:(.*?);/)[1]
// 解码base-64字符串
var bstr = atob(arr[1])
var n = bstr.length, u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], filename, {type: mime})
}
var blob = dataURLtoBlob('data:text/plain;base64,YWFhYWFhYQ==');
js字符串的存储方式及方法charAt(),charCodeAt(),codePointAt()用法总结
var s = "
转载本站文章《base64与二进制互转,保存内容,文件读写:Blob/FileReader/URL/FormData》,
请注明出处:https://www.zhoulujun.cn/html/webfront/SGML/web/2019_0920_8156.html
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有