Nodejs缓冲区
一、 JSON转换成JavaScript对象
JSON.parse(string):将格式正确的JSON字符串转换为一个JavaScript对象
二、 把JavaScript对象转化为JSON
JSON.stringify(object):解析一个JavaScript对象,并生成JSON字符串。
转换实例:
var http = require("http");
http.createServer(function(request,response){
response.writeHead(200,{"Content-Type":"text/html;charset = utf-8"});
if(request.url !== "/favicon.ico")
{
//json对象转化成JavaScript
var studentStr = '{"name":"zhangsan","subjects":["math","english","computer"]}';
var studentObj = JSON.parse(studentStr);
console.log("json对象转化成JavaScript!!!!!!!!!!!!!!!!!!!!!!!")
console.log(studentObj);
console.log("JavaScript对象转化成json!!!!!!!!!!!!!!!!!!!!!!!")
//JavaScript对象转化成json
var studentObj = {
name:"zhangsan",
subjects:["math","english","computer"]
}
var studentStr = JSON.stringify(studentObj);
console.log(studentStr);
//response.write(studentStr);
console.log("!!!!!!!!!!!!!!!!!!!!!!!")
response.end();
}
}).listen(8000);
console.log("start running......");
<img src="https://img-blog.youkuaiyun.com/20160914234021703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
三、 缓冲区
(1)创建缓冲区:
1. new Buffer(size)
2. new Buffer(octetArray)
3. new buffer(String,[encoding])
(2)写入缓冲区
1. buffer.write(string,[offset],[length],[encoding]):使用encoding编码从缓冲区内的offset索引开始,写入string中的length数量的字节。
2. buffer.fill(value,[offset],[end]):将value写到缓冲区中从offset索引处开始,并在end索引处结束的每一个字节
3.buffer[pffset] = value:将索引处的数据替换为指定值value
(3)从缓冲区读取
1.buffer.toString([encoding],[offset],[end]): 使用encoding编码读取从缓冲区内的offset索引开始,到end结束的字符。
2.buffer[offset]:返回缓冲区在指定的offset字节的八进制值。
(4)复制缓冲区
1.copy(targetBuffer,[targetStart],[sourceStart],[sourceIndex]): targetBuffer是另一个Buffer对象,[targetStart],[sourceStart],[sourceIndex]是源和目标缓冲区内的索引。
2.sourceBuffer[index] = targetBuffer[index] :通过索引直接将一个缓冲区的数据复制到另一个缓冲区。
(5).对缓冲区切片
slice([start],[end]):返回一个Buffer对象,其指向源缓冲区的start索引,具有end-start的长度。
(6).拼接缓冲区
concat(list,[totalLength]):按照出现在列表中的顺序拼接,新的Buffer对象被返回,包含至多totalLength字节的原始缓冲区的内容。
缓冲区实例:
var http = require("http");
var StringDecoder = require("string_decoder").StringDecoder;
http.createServer(function(request,response){
response.writeHead(200,{"Content-Type":"text/html;charset = utf-8"});
if(request.url !== "/favicon.ico")
{
//创建一个buffer
var buffer = new Buffer(20);
//缓冲区的内容写入1
buffer.fill("1");
//读取buffer
console.log("用fill()写入内容的buffer是:"+buffer.toString());
console.log("-----------------------------------------------------------");
//写入buffer
buffer.write("22");
console.log("用write('22')写入内容后的buffer是:"+buffer.toString());
console.log("-----------------------------------------------------------");
//复制buffer
var buff = new Buffer(20);
buffer.copy(buff);
console.log("buffer复制给buff,buff的内容是:"+buff);
console.log("-----------------------------------------------------------");
//buffer切片
var slice = buffer.slice(0,10);
console.log("对buffer切片后,slice的内容是:"+slice);
console.log("-----------------------------------------------------------");
//改变slice
slice[0] = "2";
console.log(slice);
console.log("slice索引为0改变后,slice的内容是:"+slice);
console.log("-----------------------------------------------------------");
console.log(buffer);
console.log("slice索引为0改变后,buffer的内容是:"+slice);
console.log("-----------------------------------------------------------");
//buffer拼接
var bu = new Buffer("ibelieveican");
var bu2 = new Buffer("xcxvfhjyuku");
console.log("buffer,bu,bu2三个拼接后:");
console.log(Buffer.concat([buffer,bu,bu2]).toString());
console.log("-----------------------------------------------------------");
response.end();
}
}).listen(8000);
console.log("start running......");
<img src="https://img-blog.youkuaiyun.com/20160914234027188?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
Nodejs缓冲区
最新推荐文章于 2024-07-03 00:06:50 发布