缓冲区操作
来源:互联网 发布:js获取flash播放时间 编辑:程序博客网 时间:2024/06/14 15:28
/** * Created by admin on 2017/11/1. *///JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。//但在处理像TCP流或文件流时,必须使用到二进制数据。//Buffer类似于一个整数数组,专门用来创建一个存放二进制数据的缓存区。// 1. 创建Buffer类的方法var buf1 = new Buffer(10);var buf2 = new Buffer([10, 20, 30, 40, 50]);var buf3 = new Buffer("创建Buffer的字符串", "utf-8");// 2. 写入缓冲区// buf.write(string, offset, length, encoding)://参数依次为写入字符串,缓冲区开始写入索引,写入字节数,编码;返回实际写入长度var buf = new Buffer(256);var len = buf.write('123456789abc');console.log("写入字节数 : " + len);// 3. 从缓冲区读字节// buf.toString(encoding, start, end)buf = new Buffer(26);for (var i = 0; i < 26; i++) { buf[i] = i + 97; //新的缓冲区写入方法}console.log(buf.toString('ascii')); // 输出: abcdefghijklmnopqrstuvwxyzconsole.log(buf.toString('utf8', 0, 5)); // 输出: abcdeconsole.log(buf.toString(undefined, 0, 5)); // 使用 'utf8' 编码, 并输出: abcde// 4. Buffer转化为JSONvar buffer = new Buffer("buffer string");var json = buffer.toJSON();console.log(json);// 5. 缓冲区合并//Buffer.concat(list, totalLength)var buffer1 = new Buffer('buffer1 content ');var buffer2 = new Buffer('buffer2 content');var buffer3 = Buffer.concat([buffer1, buffer2]);console.log("buffer3 内容: " +buffer3.toString());// 6. 缓冲区比较 (Node.js v0.12.2)// buf.compare(otherBuffer) 返回数字x表示buf和otherbuffer之前(x<0)或之后(x>0)或相同(x=0)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 + "之后");}// 7. 拷贝缓冲区// buf.copy(targetBuffer,targetStart,sourceStart,sourceEnd) buf是被拷贝的缓冲区var buffer4 = new Buffer(17);buffer1.copy(buffer4);console.log("赋值的buffer4 :"+buffer4);//等价于 console.log(buffer4.toString());// 8. 缓冲区剪裁//buf.slice(start,end);var buffer5 = buffer1.slice(0,6);console.log("剪裁的buffer5 :"+buffer5);// 9. 缓冲区长度//buf.length;console.log("buffer1的长度为:"+buffer1.length);
阅读全文
0 0
- 缓冲区操作
- 缓冲区方式读写操作
- 缓冲区读写操作
- JVM如何操作缓冲区
- 缓冲区操作:BufferedReader
- Java NIO-缓冲区操作
- JVM 如何操作缓冲区
- 【汇编】汇编操作屏幕缓冲区
- 流 缓冲区 文件操作 IO
- IO操作中缓冲区原理
- C++流操作 清理缓冲区
- emacs快捷键-缓冲区的操作
- C# 缓冲区操作 字节数组操作
- (二十一)缓冲区操作与目录操作
- 系统缓冲区、内核缓冲区、IO库操作本身的缓冲区 之间联系
- 系统缓冲区、内核缓冲区、IO库操作本身的缓冲区 之间联系
- DirectSound学习笔记(7):缓冲区操作
- 直接操作wince显示缓冲区framebuffer
- 【玩转Golang】slice切片的操作——切片的追加、删除、插入等
- RxJava
- java中实现多态的机制是什么?
- 安装mysql
- Ubuntu配置OpenCV 2.4.9
- 缓冲区操作
- 通俗易懂解释负载均衡
- 计算从现在到凌晨00:00还剩余多少秒(redis缓存经常使用)
- DALSA camera SDK get start
- ZMQ 第二章 ZeroMQ进阶
- Python-正则表达式
- SPOJ 962 Intergalactic Map 最大流
- 录屏&制作GIF图片
- 应用丨其实,你每天都生活在人工智能中