node.js中的buffer.copy方法使用说明
方法说明:
进行不同buffer之间的复制替换操作。
从源buffer复制数据 并替换到目标buffer的指定位置。
语法:
buffer.copy(targetBuffer, [targetStart], [sourceStart], [sourceEnd])
接收参数:
targetBuffer 目标buffer,执行复制替换的buffer
targetStart 目标buffer数据替换的起始位置
sourceStart 源buffer数据复制的起始位置
sourceEnd 源buffer数据复制的结束位置
例子:
在该例子中,提取了buf1 16 到 20之间的数据,将数据复制到buf2中,从buf2的 位置8开始替换。
buf1 = new Buffer(26);
buf2 = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
buf1[i] = i + 97; // 97 is ASCII a
buf2[i] = 33; // ASCII !
}
buf1.copy(buf2, 8, 16, 20);
console.log(buf2.toString('ascii', 0, 25));
相关推荐
-
node.js中的buffer.Buffer.byteLength方法使用说明
方法说明: 获取字符串的字节长度. 这个函数与 String.prototype.length 不同点在于,后者返回的是字符串的字符数. 语法: 复制代码 代码如下: Buffer.byteLength(string, [encoding]) 接收参数: string 字符创 encoding 字符串编码,默认为 'utf8′ 例子: 复制代码 代码如下: str = '\u00bd + \u
-
关于Node.js中Buffer的一些你可能不知道的用法
前言 在大多数介绍 Buffer 的文章中,主要是围绕数据拼接和内存分配这两方面的.比如我们使用fs模块来读取文件内容的时候,返回的就是一个 Buffer: fs.readFile('filename', function (err, buf) { // <Buffer 2f 2a 2a 0a 20 2a 20 53 75 ... > }); 在使用net或http模块来接收网络数据时,data事件的参数也是一个 Buffer,这时我们还需要使用Buffer.concat()来做数据拼接: v
-
Node.js中使用Buffer编码、解码二进制数据详解
JavaScript很擅长处理字符串,但是因为它最初的设计是用来处理HTML文档,因此它并不太擅长处理二进制数据.JavaScript没有byte类型,没有结构化的类型(structured types),甚至没有字节数组,只有数字和字符串.(原文:JavaScript doesn't have a byte type - it just has numbers - or structured types, or http://skylitecellars.com/ even byte arra
-
node.js中的buffer.fill方法使用说明
方法说明: 将制定数据填充到buffer中. 语法: 复制代码 代码如下: buffer.fill(value, [offset], [end]) 接收参数: value 将要填充的数据 offet 填充数据的开始位置,不指定默认为 0 end 填充数据的结束位置,不指定默认为 buffer 的 长度. 例子: 复制代码 代码如下: //例子1中,不指定填充内容的起止位置 var b = new Buffer(50); b.fill(
-
node.js中的buffer.toJSON方法使用说明
方法说明: 将buffer对象 转换成json格式. 语法: 复制代码 代码如下: buffer.toJSON() 接收参数: 无 例子: 复制代码 代码如下: var buf = new Buffer('test'); var json = JSON.stringify(buf); console.log(json); // '{"type":"Buffer","data":[116,101,115,116]}' var copy = JSON
-
node.js中的buffer.slice方法使用说明
方法说明: 返回一个新的buffer对象,这个新buffer和老buffer公用一个内存. 但是被start和end索引偏移缩减了.(比如,一个buffer里有1到10个字节,我们只想要4-8个字节,就可以用这个函数buf.slice(4,8),因为他们共用一个内存,所以不会消耗内存,) 因为共用内存,所以修改新的buffer后,老buffer的内容同样也会被修改. 语法: 复制代码 代码如下: buffer.slice([start], [end]) 接收参数: start 开始位置
-
node.js中的buffer.toString方法使用说明
方法说明: 将buffer对象转换成指定的字符编码的字符串. 语法: 复制代码 代码如下: buffer.toString([encoding], [start], [end]) 接收参数: encoding 转换成字符串后的字符编码,默认为 'utf8′ start buffer 转换的起始位置,默认为 0 end buffer 转换的结束位置,默认为buffer长度 例子: 复制代码 代码如下: var b = new
-
node.js中的buffer.write方法使用说明
方法说明: 将string使用指定的encoding写入到buffer的offset处. 返回写入了多少个八进制字节. 如果Buffer没有足够的空间来适应整个string,那么将只有string的部分被写入. 语法: 复制代码 代码如下: buffer.write(string, [offset], [length], [encoding]) 接收参数: string String,被写入buffer的数据. offet n
-
node.js中的buffer.Buffer.isEncoding方法使用说明
方法说明: 检测是否为有效的编码参数,返回true 或 false. 语法: 复制代码 代码如下: Buffer.isEncoding(encoding) 接收参数: encoding {String} 被检测的编码格式 例子: 复制代码 代码如下: var a = Buffer.isEncoding('base64'); console.log(a); 源码: 复制代码 代码如下: Buffer.isEncoding = function(encoding) { switch ((
-
Node.js实用代码段之正确拼接Buffer
对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学.重要性也不是那么突出.其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出很多,重要性可谓是举足轻重.下面我们通过一个例程向读者演示一下,使用buf.concat()方法进行拼接的过程. 本例ch04.buffer-concat.js主要代码如下: /** * ch04.buffer-concat.js */ console.info("------ Buffer con
随机推荐
- Angular2从搭建环境到开发步骤详解
- 详解iOS11、iPhone X、Xcode9 适配指南
- node中Express 动态设置端口的方法
- 检查电脑是否被安装木马的三个小命令
- 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例
- python基础教程之面向对象的一些概念
- 举例讲解Swift编程中switch...case语句的用法
- bootstrap选项卡使用方法解析
- Js 去掉字符串中的空格(实现代码)
- 递归形式与非递归形式的斐波那契数列的用法分析
- GridView中日期不显示时分秒的完美解决方法
- 如何在symfony中导出为CSV文件中的数据
- js option删除代码集合
- 如何让32位的WIN2003服务器使用4G以上内存的方法
- IIS网站独立帐号设置教程确保服务器安全
- 如何使用“PHP” 彩蛋进行敏感信息获取
- SQL语句练习实例之一——找出最近的两次晋升日期与工资额
- vue项目前端错误收集之sentry教程详解
- Python3内置模块pprint让打印比print更美观详解
- 易语言制作个性工具包步骤
