我有一个缓冲区,其中填充了一堆base64字符串。我想要一种解码这些字符串的方法,并能够读取该缓冲区中的所有base64字符串。
const slugId1 = 'YriU6QbcQj6xtdUUosJTxA==';
const slugId2 = 'Su7Zvq1vRca/teTNfEmfNQ==';
const SLUGID_SIZE = 16;
let buffer = Buffer.alloc(SLUGID_SIZE * 2);
buffer.write(slugId1, 0, SLUGID_SIZE, 'base64');
buffer.write(slugId2, SLUGID_SIZE, SLUGID_SIZE, 'base64');
console.log(buffer.toString('base64', 0, SLUGID_SIZE));
console.log(buffer.toString('base64', SLUGID_SIZE, SLUGID_SIZE));
我得到了什么:
YriU6QbcQj6xtdUUosJTxA==
我期望获得:
YriU6QbcQj6xtdUUosJTxA==
Su7Zvq1vRca/teTNfEmfNQ==
感谢任何帮助。
答案 0 :(得分:2)
试试这个
const slugId1 = 'YriU6QbcQj6xtdUUosJTxA==';
const slugId2 = 'Su7Zvq1vRca/teTNfEmfNQ==';
const SLUGID_SIZE = 16;
let buffer = Buffer.alloc(SLUGID_SIZE * 2);
buffer.write(slugId1, 0, SLUGID_SIZE, 'base64');
buffer.write(slugId2, SLUGID_SIZE, SLUGID_SIZE, 'base64');
console.log(buffer.toString('base64', 0, SLUGID_SIZE));
console.log(buffer.toString('base64', SLUGID_SIZE, SLUGID_SIZE * 2));
buffer.toString() - 第三个参数不是长度,它是结束偏移量。