如何将V8 :: Value转换为二进制字符串?

时间:2014-06-07 15:13:32

标签: javascript c++ node.js v8

我在函数中发布缓冲区(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?

的最佳方法

1 个答案:

答案 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