如何按换行符拆分Node.中的缓冲区



假设我们有一个缓冲区b:

const b = Buffer.from('foonbarnbaz');

有没有办法通过换行符将缓冲区拆分为 N 个缓冲区?不先转换为字符串?所以结果将是这样的:

const b1 = Buffer.from('foo');
const b2 = Buffer.from('bar');
const b3 = Buffer.from('baz');

您可以使用 buf.indexOf 在缓冲区中查找换行符,然后,根据您正在执行的操作,您可以使用 buf.copy 复制到新的 Buffer 对象中。

下面的示例

使用库迭代操作将缓冲区处理为可迭代对象:

import {pipe, split, map} from 'iter-ops';
const i = pipe(
    b, // your buffer object
    split(a => a === 10), // = 0x0A code for n
    map(m => Buffer.from(m)) // remap into buffer
);
const [b1, b2, b3] = [...i]; // your 3 resulting buffers

而这一切都将在一次迭代中完成。

最新更新