我的应用程序将接收二进制格式<type>:<location>\n<binary>
的文件,因此图片可能看起来像image:~/documents/image.png\n<image>
。
要在节点中阅读此内容,我有以下代码。
var type = '';
var destination = '';
var i = -1;
while (data[++i] != ':')
type += data[i];
while (data[++i] != '\n')
destination += data[i];
data = data.slice(i);
然而,这会导致Node占用所有RAM和CPU,并最终崩溃。我做错了什么?
谢谢!
答案 0 :(得分:1)
解决!
var type = '';
var destination = '';
var char = '';
var i = 0;
while ((char = String.fromCharCode(data.readUInt8(i++))) != ':')
type += char;
while ((char = String.fromCharCode(data.readUInt8(i++))) != '\n')
destination += char;
data = data.slice(i);