Tag: 缓冲区

将嵌套对象的数组转换为Buffer Nodejs

1)为什么? 我需要通过缓冲区rabbitMQ,发布方法http://www.squaremobius.net/amqp.node/channel_api.html#channel_publish 2)我的数据如下所示 [ // array of objects { id: 1, name: 'John Doe', prop: { a: [….], // nested b: [….], c: {…} } }, … ] 如何正确地转换这样的对象数组缓冲,所以从另一边可以parsing回来。

节点stream:远程stream正在返回JSON,但('data')显示缓冲区

我刚刚开始使用节点stream 。 我的图书馆的演示代码使用: stream.pipe(process.stdout, {end: true}); 哪些工作正常,将JSON块打印到标准输出。 我想用: stream.on('data', function(chunk) { console.log(chunk) } 但是我得到一个二进制缓冲区: chunk! <Buffer 7b 22 73 74 72 65 61 6d 22 3a 22 20 2d 2d 2d 5c 75 30 30 33 65 20 35 35 32 38 38 36 39 62 30 30 33 37 5c 6e 22 7d> 有没有一种方法,我可以使用('数据'),看到JSON?

console.log中的节点stream缓冲区vs process.stdout.write

使用NodeJS v5.6,我创build了一个名为read-stream.js的文件: const fs = require('fs'), stream = fs.createReadStream(process.argv[2]); stream.on('data', function(chunk) { process.stdout.write(chunk); }); stream.on('error', function(err) { process.stderr.write("ERROR: " + err.message + "\n"); }); 和一个名为target.txt纯文本数据文件: hello world this is the second line 如果我做node read-stream.js target.txt的内容正常打印在我的控制台,一切都很好。 但是,如果我切换process.stdout.write(chunk); 用console.log(chunk); 那么我得到的结果是这样的: <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a 74 68 69 73 […]

节点6缓冲区构造函数不推荐使用,而是使用什么?

https://nodejs.org/en/blog/release/v6.0.0/ “现有的Buffer()和SlowBuffer()构造函数已被弃用” 我目前正在使用这些为GraphQL创build合成游标值,例如: new Buffer(<cursor>).toString('base64') 既然Buffer构造函数已经被弃用,那么类似的方法是正确的呢? 提前感谢任何人的想法,我会深入挖掘这个以及如果我有一个在这里发表我的答案。

node.js USB(hid)条码扫描器读缓冲区

我正在使用node.js,从条形码扫描仪读取数据。 所以这是我的代码: var HID = require('node-hid'); var usb = require('usb'); // Honeywell Scanner var vid = 0xc2e; var pid = 0xbe1; var d = new HID.HID(vid, pid); d.on("data", function (data) { console.log(data); }); d.on("error", function (error) { console.log(error); d.close(); }); 我的问题是,我得到一个缓冲区,看起来像<缓冲区00 00 00 00 00 00 00 00>。 在扫描条形码(例如ID为12的条形码)后,控制台返回类似的内容 <Buffer 00 00 53 00 00 […]

你怎么能在Node.jsstreamJSON文件并解释为JSON?

我有一个JSON文件,我想在Node.js脚本中使用。 我想通过json,然后脚本来parsing它。 我尝试使用fs.readFileSync(filename) ,但是返回一个缓冲区。 我怎样才能转换回JSON,以便我可以parsing它?

MongoDB只使用中间件插入UUID?

我不知道如何正确地插入到MongoDB的UUID。 例如: db.users.insert({ uuid: UUID(buffer) }) 缓冲区必须是32hexstring和MongoDB本地不创buildUUID,只存储这个? 我是对的? 但是,我创build随机的UUID,例如通过Node.js中间件,我有一个随机的UUID 11986aba-7c5a-4626-b354-80be23c25516 ,所以它是一个36长度的string,现在我不能把它放入UUID(buffer) 。 我应该怎么做这个从node.js uuid模块生成的UUID? 以后如何从MongoDB中读取这个插入的值作为正常的uuidstring?

在Node 4.3中使用Buffer.from时,TypeError Base64不是函数

我在节点4.3上使用标准的Amazon Machine Image(linux x64)在本地debugginglambda函数, 当我运行这个程序的时候,我得到一个函数的错误,这个函数是为了将一个base64string解码为utf-8。 错误说 Unhandled rejection TypeError: base64 is not a function at Function.from (native) at Function.from (native) at /home/ec2-user/sass-compiler/lib/compiler.module.js:26:30 我的代码看起来很简单。 我已经检查过,所以节点4.3文档和我的代码似乎符合。 任何想法我可能做错了什么? template() { return new Promise((resolve, reject) => { let buf = Buffer.from(this._opts.tpl, 'base64').toString('utf-8'); let _tpl = _.template(buf); resolve(_tpl(this._opts.opts)); }); } 编辑该程序工作得很好,在Windows 10使用节点LTS 6.9.5

在NodeJS中复制缓冲区的问题

我试图创build方法来追加缓冲区。 这是代码,这需要很奇怪的结果: var offset = 0 var a = new Buffer(0) var b = new Buffer('test') offset = a.length a.length += b.length a.copy(b, offset) console.log(a.toString()) // everything works normaly // returns: test b = new Buffer('hello') offset = a.length a.length += b.length a.copy(b, offset) console.log(a.toString()) // code the same // but returns: test<Buff // nor: […]

nodejs JSON.parse(data_from_TCP_socket)

我在nodejs服务器上使用require('net')的代码,所以它是TCP,客户端是AS3并正确发送数据: var server = net.createServer(function(socket) { socket.setEncoding("utf8"); clients.push(socket); function broadcast(message) { clients.forEach(function (client) { client.write(message); }); } socket.on('data', function(dt){ var rdt = dt; var srdt = rdt.toString(); var ordt = JSON.parse(srdt); console.log(ordt); broadcast(ordt); }); socket.on('end', function(){…}); }) 它不能parsing数据并给出各种错误。 我能理解的是,我从客户端获得“缓冲区”。 但是我需要保持套接字打开,所以循环缓冲区的常见解决scheme将不适用于我。 请帮我解决这个问题。 顺便说一句,客户端串数据,当收到这个数据,因为它发送,parsing它正确。