JS中ArrayBuffer转字符串,字符串转ArrayBuffer,字符与字节桥转换
//ArrayBuffer转字符串function ab2str(u,f) {var b = new Blob([u]);var r = new FileReader();r.readAsText(b, 'utf-8');r.onload = function (){if(f)f.call(null,r.result)}}//字符串转字符串ArrayBufferfunction str2ab(s,
·
//ArrayBuffer转字符串
function ab2str(u,f) {
var b = new Blob([u]);
var r = new FileReader();
r.readAsText(b, 'utf-8');
r.onload = function (){if(f)f.call(null,r.result)}
}
//字符串转字符串ArrayBuffer
function str2ab(s,f) {
var b = new Blob([s],{type:'text/plain'});
var r = new FileReader();
r.readAsArrayBuffer(b);
r.onload = function (){if(f)f.call(null,r.result)}
}
记录备用,网上有用Uint16Array视图转换的并不行,因为utf-8编码字符字节编码长度不一定是两个字节,英文是1字节,中文2-3字节,其他表情符号4字节。
//实际调用
ab2str(arrayBuffer,function(str){
//str为字符串
});
str2ab(str,function(ab){
//ab为ArrayBuffer
});
转载于:https://blog.csdn.net/xyzdwf/article/details/82220987
更多推荐
所有评论(0)