我想在没有任何开销的情况下将缓冲区序列化为字符串(一个字符对应一个字节),并且能够再次将其反序列化为缓冲区。
var b = new Buffer (4) ;
var s = b.toString() ;
var b2 = new Buffer (s)
仅对低于 128 的值产生相同的结果。我想使用 0-255 的整个范围。
我知道我可以在序列化中使用 String.fromCharCode() 并在反序列化中使用 String.charCodeAt() 在循环中编写它,但我正在寻找一些 native 模块实现(如果有的话)。
最佳答案
您可以使用 'latin1'
编码,但通常应尽量避免使用它,因为将 Buffer 转换为二进制字符串会产生一些额外的计算开销。
例子:
var b = Buffer.alloc(4);
var s = b.toString('latin1');
var b2 = Buffer.from(s, 'latin1');
关于Node.js 缓冲区字符串序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24868186/