访问ArrayBufferView的数据

时间:2016-05-17 22:04:45

标签: c++ node.js node.js-addon

在Node.JS Addon中我想处理来自BufferArrayBufferView)的数据我在C ++中有这个实验代码:

void foo(const FunctionCallbackInfo<Value> &args) {
    auto *isolate = args.GetIsolate();
    auto data = args[3];

    if (data->IsArrayBufferView()) {
        auto arrbufview = Local<v8::ArrayBufferView>::Cast(data);
        if (!arrbufview->HasBuffer()) {
            // empty
            return;
        }
        auto content = arrbufview->Buffer()->GetContents();

        std::cout << content.Data()) << "\n\n" << content.ByteLength() << "\n";
    }
}

现在我使用像

这样的脚本运行此代码
foo(new Buffer("foobar"))

并且数据缓冲区没有指向包含foobar I放入的memoery区域,而是一些长度为8192字节的随机区域。如何获得正确的数据?

0 个答案:

没有答案