Lor*_*eck 2 javascript node.js
如何通过二进制分隔符拆分Node.js中的二进制数据缓冲区?例如,套接字数据以二进制代码发送,每个字段由\ xb8稀释.如何将其拆分为数组?
更好的是,有没有办法写一个类或可以加载的东西?例如,每个数据包发送由\ xb8分隔的命令参数对.无论如何我可以使用二进制数据变量并进入多个Command实例吗?
阅读缓冲区文档.
遍历缓冲区中的每个字符,并在遇到指定字符时创建新缓冲区.
function splitBuffer(buf, delimiter) {
var arr = [], p = 0;
for (var i = 0, l = buf.length; i < l; i++) {
if (buf[i] !== delimiter) continue;
if (i === 0) {
p = 1;
continue; // skip if it's at the start of buffer
}
arr.push(buf.slice(p, i));
p = i + 1;
}
// add final part
if (p < l) {
arr.push(buf.slice(p, l));
}
return arr;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2942 次 |
| 最近记录: |