• nodejs中的buffer


    Buffer

      是Nodejs提供的可以直接操作二进制数据的类

    从 Buffer 的定义Buffer继承自 Uint8Array

    Uint8Array 则是8位无符号整型数组(一段以8bit数据为单位的无符号整型数组),是 ArrayBuffer 的一种

    1.string 转 buffer

    var buffer = Buffer.from("hello,world");
    console.log(buffer);

    <Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64>

    2.buffer 转字符串时,可以指定字符编码,默认值为 UTF-8 

    var str = 'hello,world';
    console.log(Buffer.from(str));
    console.log(Buffer.from(str, 'utf8'));
    console.log(Buffer.from(str, 'utf16le'));

    <Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64>
    <Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64>
    <Buffer 68 00 65 00 6c 00 6c 00 6f 00 2c 00 77 00 6f 00 72 00 6c 00 64 00>

    3.buffer t转 string

    var buffer = Buffer.from("hello,world");
    var ss = buffer.toString('utf8');
    console.log(ss);

    hello,world

    4.buffer 转 base64

    var buffer = Buffer.from("hello,world");
    var base64 = buffer.toString('base64');
    console.log(base64);

    aGVsbG8sd29ybGQ=

    5.buffer 转十六进制的字符

    var buffer = Buffer.from('hello,world');
    var hex = buffer.toString('hex');
    console.log(buffer);
    console.log(hex);

    <Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64>
    68656c6c6f2c776f726c64

    6.长度获取

    var buffer = Buffer.from(('hello,world.'));
    console.log(buffer.length);

    12

    6.多个buffer的合并

    var buffer1 = Buffer.from(('hello,world.'));
    var buffer2 = Buffer.from(('你好啊!'));
    var buffer3 = Buffer.concat([buffer1, buffer2]);
    console.log("buffer3内容: " + buffer3.toString());

    buffer3内容: hello,world.你好啊!

    7.将 Buffer 实例转换为 JSON 对象

    var buffer = Buffer.from(("hello,world"));
    console.log(buffer.toJSON());

    {
      type: 'Buffer',
      data: [
        104, 101, 108, 108,
        111, 44, 119, 111,
        114, 108, 100
      ]
    }

    8.分割

    var buffer = Buffer.from(("hello,world"));
    console.log(buffer.slice(1,6).toString());

    ello,

    9.比较

    返回一个数字,表示 buf 在 otherBuffer 之前,之后或相同

    var buffer1 = Buffer.from('hello');
    var buffer2 = Buffer.from('he');
    var result = buffer1.compare(buffer2);
    if (result < 0) {
         console.log(buffer1 + "" + buffer2 + "之前");
    } else if (result == 0) {
         console.log(buffer1 + "" + buffer2 + "相同");
    } else {
         console.log(buffer1 + "" + buffer2 + "之后");
    }

    hello 在 he之后

    10.判断一个对象是否为一个Buffer

    var buffer = Buffer.from("hello,world");
    console.log(Buffer.isBuffer(buffer));
    var ss = buffer.toString('utf8');
    console.log(Buffer.isBuffer(ss));

    true
    false

  • 相关阅读:
    Android Camera子系统之Linux C应用开发人员View
    【Android】把外部文件拷贝的AVD安卓模拟器上的sdcard上,而且在AVD中浏览sdcard的文件
    HDU 2196 Computer(求树上每一个节点到其他点的最远距离)
    HDU 4081 Qin Shi Huang&#39;s National Road System 最小生成树
    scala 变量定义,基本操作符
    mybatis or
    Nginx
    hessian协议原理
    同一台电脑上装两个或两个以上的tomcat服务器
    端口号
  • 原文地址:https://www.cnblogs.com/baby123/p/13970359.html
Copyright © 2020-2023  润新知