我在函数中发布缓冲区(nodejs Buffer):
Handle<Value> some::encrypt_buf (const Arguments& args) {
String::AsciiValue abuf(args[0]->ToString());
cout<<abuf.length()<<endl;
char *buf=*abuf;
...
}
如果缓冲区在缓冲区中有一些像\ 0这样的字符,则会得到错误的长度。如何将所有二进制字符都设置为abuf
并具有正确的长度()?
也许存在直接将V8 :: Value转换为char *和length?
答案 0 :(得分:0)
我决定这样做
#include <node_buffer.h>
...
Handle<Value> some::encrypt_buf (const Arguments& args) {
int len=node::Buffer::Length(args[0]->ToObject());
char *buf=Node::Buffer::Data(args[0]->ToObject());
...
}
为什么没有这方面的官方文件? : - \ https://www.google.ru/webhp?q=%22node::buffer::data%22+site:nodejs.org