zoukankan      html  css  js  c++  java
  • Node.Buffer

    介绍

    Buffer是一个典型的javascript与c++结合的模块,它将性能相关的部分用c++实现,将非性能相关的部分用javascript实现。

    纯 JavaScript 对 Unicode 友好但是无法很好地处理二进制数据。当我们面对类似 TCP 流或文件系统时,是需要处理八位流的,因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。

    在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库。原始数据存储在 Buffer 类的实例中。一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之外的一块原始内存。

    资料

    类: Buffer

    代码

    1.创建

    var buff;
    //创建长度n的Buffer实例
    buff = new Buffer(n);
    //创建数组为arr的Buffer实例
    buff = new Buffer(arr);
    //创建字符串str的Buffer实例
    //encoding:"ascii", "utf8", "utf16le", "ucs2", "base64" , "hex"
    buff= new Buffer(str,encoding);

    2.读写

    //写入
    var len = buff.write(string[, offset[, length]][, encoding]);
    console.log("写入字节:"+len);
    //读取
    var data = buff.toString([encoding[, start[, end]]]);
    console.log(data);

    buf.write参数描述如下:
    string - 写入缓冲区的字符串。
    offset - 缓冲区开始写入的索引值,默认为 0 。
    length - 写入的字节数,默认为 buffer.length
    encoding - 使用的编码。默认为 ‘utf8’ 。
    返回实际写入的大小。如果 buffer 空间不足, 则只会写入部分字符串。

    buf.toString参数描述如下:
    encoding - 使用的编码。默认为 ‘utf8’ 。
    start - 指定开始读取的索引位置,默认为 0。
    end - 结束位置,默认为缓冲区的末尾。
    返回解码缓冲区数据并使用指定的编码返回字符串。

    3.深入

    (未完待续...)

    总结

  • 相关阅读:
    xhEditor入门基础
    【Scala-ML】使用Scala构建机器学习工作流
    POJ 2482 Stars in Your Window(线段树)
    Xcode6 UIWebView与JavaScript交互(issue fix)
    poj1159--Palindrome(dp:最长公共子序列变形 + 滚动数组)
    把握linux内核设计思想(十二):内存管理之slab分配器
    Andriod DiskLruCache的使用案例
    Lambda 表达式的演示样例-来源(MSDN)
    HDU 4857 topological_sort
    Thinking in React(翻译)
  • 原文地址:https://www.cnblogs.com/z-yue/p/5507661.html
Copyright © 2011-2022 走看看