美文网首页日常刻书
聊聊 Node.js 中的 Buffer

聊聊 Node.js 中的 Buffer

作者: F_wind | 来源:发表于2021-01-06 09:46 被阅读0次

《深入浅出 Node.js》阅读随笔

  • 应用场景
    在浏览器端,使用字符串来处理数据,通常就可以满足日常要求了。但是将 Javascript 作为服务器端语言时,还需要满足对二进制字节的处理,此时 Buffer 应用而生。
  • 结构
    新建一个 Buffer 对象,里面放置的是一些由 0-255 之间十六进制数字组成的数组。
  • 赋值原则
    我们可以通过数组下标的方式来读取 Buffer 中每一位的值,同样也可以改变其值。赋值原则是:1. 如果大于 256 ,则依次减去 256 直到不大于为止;2. 如果小于 0 ,则依次增加 256 直到大于 0 为止;3. 如果是小数,则取整数部分。
const buff = Buffer.alloc(10);
buff[0] = 10;
console.log(buff[0]); // 输出 10
buff[0] = 256;
console.log(buff[0]); // 输出 0
buff[0] = -10;
console.log(buff[0]); // 输出 246
buff[0] = 1.123;
console.log(buff[0]); // 输出 1
  • 内存使用
    Buffer 属于堆外内存,没有 V8 引擎在内存上的限制(64 位系统 1.4GB,32 位系统 0.7GB)。
  • 优势
    经验证,在网络传输中直接传输 Buffer 要比传输字符串要更高效,因为省去了不必要的转换过程。

相关文章

网友评论

    本文标题:聊聊 Node.js 中的 Buffer

    本文链接:https://www.haomeiwen.com/subject/wwqnoktx.html