当前位置:网站首页>js中blob转string、string转blob、typeArray转blob、blob转TypeArray
js中blob转string、string转blob、typeArray转blob、blob转TypeArray
2022-08-07 05:16:00 【maya1024】
js中blob转string、string转blob、typeArray转blob、blob转TypeArray
将String字符串转换成Blob对象
//将字符串 转换成 Blob 对象
var blob = new Blob(["Hello World!"], {
type: 'text/plain'
});
console.info(blob);
console.info(blob.slice(1, 3, 'text/plain'));
将TypeArray 转换成 Blob 对象
//将 TypeArray 转换成 Blob 对象
var array = new Uint16Array([97, 32, 72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33]);
//测试成功
//var blob = new Blob([array], { type: "application/octet-binary" });
//测试成功, 注意必须[]的包裹
var blob = new Blob([array]);
//将 Blob对象 读成字符串
var reader = new FileReader();
reader.readAsText(blob, 'utf-8');
reader.onload = function (e) {
console.info(reader.result); //a Hello world!
}
ArrayBuffer转Blob
var buffer = new ArrayBuffer(32);
var blob = new Blob([buffer]); // 注意必须包裹[]
将Blob对象转换成String字符串
//将字符串转换成 Blob对象
var blob = new Blob(['中文字符串'], {
type: 'text/plain'
});
//将Blob 对象转换成字符串
var reader = new FileReader();
reader.readAsText(blob, 'utf-8');
reader.onload = function (e) {
console.info(reader.result);
}
将Blob对象转换成ArrayBuffer
//将字符串转换成 Blob对象
var blob = new Blob(['中文字符串'], {
type: 'text/plain'
});
//将Blob 对象转换成 ArrayBuffer
var reader = new FileReader();
reader.readAsArrayBuffer(blob);
reader.onload = function (e) {
console.info(reader.result); //ArrayBuffer {}
//经常会遇到的异常 Uncaught RangeError: byte length of Int16Array should be a multiple of 2
//var buf = new int16array(reader.result);
//console.info(buf);
//将 ArrayBufferView 转换成Blob
var buf = new Uint8Array(reader.result);
console.info(buf); //[228, 184, 173, 230, 150, 135, 229, 173, 151, 231, 172, 166, 228, 184, 178]
reader.readAsText(new Blob([buf]), 'utf-8');
reader.onload = function () {
console.info(reader.result); //中文字符串
};
//将 ArrayBufferView 转换成Blob
var buf = new DataView(reader.result);
console.info(buf); //DataView {}
reader.readAsText(new Blob([buf]), 'utf-8');
reader.onload = function () {
console.info(reader.result); //中文字符串
};
}
边栏推荐
猜你喜欢
随机推荐
Mysql数据库的导出及远程导入
【类加载器,反射】
红外遥控解码
【Unity】消息协议的设计
第14天 - 栈
基于STM32单片机智能手环脉搏心率计步器体温显示设计
AVS视频编码标准的演变:20年来的创新与发展
win10如何设置定时联网断网辅助自律
Unity3D入门篇
"SwiftUI" Alert pop-up window
智能机器人制作全攻略
acwing 905 区间选点
用账户名和密码登录测试用例
网络安全学习:系统文本编辑命令
RuoYi学习笔记
两数相乘:但是不用*号。如何不用*符号的两数相乘
【数组空指针异常】
第09天 - 二分查找
互助交流论坛系统 第四章:Redis,一站式高性能存储方案
栈模拟队列









