感觉node.js的Buffer类的方法不太够用。 补充了一些方法: append: 往buffer里追加一块儿data indexOf: 在buffer里查询一块儿data ltrim: 把buffer里前N个字节给删除掉,并把后面剩余的部分移动到前面
Buffer.prototype.size = 0
Buffer.prototype.append = function(data){
data.copy(this,this.size,0,data.length)
this.size += data.length
}
Buffer.prototype.indexOf= function(data){
for(var i=0;i<this.size;i++){
j = 0
while(j<data.length){
if(data[j] == this[i+j]) j++
else break
}
if(j == data.length)
return i
}
return -1
}
Buffer.prototype.ltrim=function(N){
N = (N>this.size)? this.size : N
this.copy(this,0,N,this.size)
this.size -= N
}
5 回复
Buffer.prototype.size = 0
Buffer.prototype.append = function(data){
data.copy(this,this.size,0,data.length)
this.size += data.length
}
Buffer.prototype.indexOf= function(data){
for(var i=0;i<this.size;i++){
j = 0
while(j<data.length){
if(data[j] == this[i+j]) j++
else break
}
if(j == data.length)
return i
}
return -1
}
Buffer.prototype.ltrim=function(N){
N = (N>this.size)? this.size : N
this.copy(this,0,N,this.size)
this.size -= N
}