Node.js 缓冲区字符串序列化

标签 node.js

我想在没有任何开销的情况下将缓冲区序列化为字符串(一个字符对应一个字节),并且能够再次将其反序列化为缓冲区。

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/

相关文章:

node.js - 在 apache2 服务器上的 express Node js 中提供静态文件时自动重定向而无需代理传递名称

node.js - 在 Node.js 中使用 Promise

node.js - Apache 和 Node 在端口 80 上

javascript - 我如何将 Bunyan 与 Deepstream.io 一起使用?

node.js - 需要更新的 Twitter 流 nodejs api

node.js - Jest 模拟和测试 require.resolve 调用

node.js - Node 长路径模块名称失败 teamcity 构建

node.js - Firebase 函数返回 400

node.js - nodejs 环境变量 "NODE_EXTRA_CA_CERTS"

javascript - 通知应用程序中的时区