// 存数据,取数据;buf = Buffer.alloc(26);for (var i = 0; i < 26; i++) { buf[i] = i + 97;}
- console.log(buf.toString('ascii'));
- console.log(buf.toString('ascii',0,5));
- console.log(buf.toString('utf8',0,5));
- console.log(buf.toString(undefined, 0, 5));
输出
abcdefghijklmnopqrstuvwxyz abcde abcde abcde
const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);const json = JSON.stringify(buf);// 输出: {"type":"Buffer","data":[1,2,3,4,5]}console.log(json);const copy = JSON.parse(json, (key, value) => { // 这个地方最初的时候没有理解,其实原因很简单,就是运算符的优先级导致的 // 这个时候如果单独打印 value && value.type === 'Buffer' // 返回的其实是一个 false 并不是我们理解的一个true // 这个时候输出的是正确的 return value && value.type === 'Buffer' ? Buffer.from(value.data) : value; // 这个时候输出的竟然是 lin return value && value.type === 'Buffer' ? "lin" : // lin value; // 这个时候输出的就是 m return value && value.type === 'Buffer' ? "lin" : "m"; // m // 这个时候输出的也是 m return value && value.type === 'Buffer' ? Buffer.from(value.data) : "m"; // m});// 输出: console.log(copy);