javascript 字节数组转换为字符串的实现过程探究
在 javascript 中,有一种常见的方法可以将字节数组转换为字符串。如下所示:
function byteToString(arr) { if(typeof arr === 'string') { return arr; } var str = '', _arr = arr; for(var i = 0; i < _arr.length; i++) { var one = _arr[i].toString(2), v = one.match(/^1+?(?=0)/); if(v && one.length == 8) { var bytesLength = v[0].length; var store = _arr[i].toString(2).slice(7 - bytesLength); for(var st = 1; st < bytesLength; st++) { store += _arr[st + i].toString(2).slice(2); } str += String.fromCharCode(parseInt(store, 2)); i += bytesLength - 1; } else { str += String.fromCharCode(_arr[i]); } } return str;}
登录后复制
对于 v = one.match(/^1+?(?=0)/); 这行代码,^1+?(?=0) 表达式从第一个 1 到第一个 0 之间匹配连续 1 的数量。
例如,对于字节值 1001 0100:
立即学习“Java免费学习笔记(深入)”;
转换后的二进制字符串 one 为 1111101000000000。one.match(/^1+?(?=0)/) 返回 11111,表示从第一个 1 到第一个 0 有 5 个连续 1。因此,v 等于 5。
以上就是JavaScript 字节数组如何转换为字符串?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2655154.html