常見的數據類型的轉換基本比較容易,結合nan應該不是一件難事
參考鏈接:
http://blog.jobbole.com/109598/
http://deadhorse.me/nodejs/2012/10/09/c_addon_in_nodejs_object.html
這里主要說一下Buffer類型的轉換:
Buffer是nodejs里面的類型,但是c++里面是沒有的,那么怎么實現它們之間的轉換呢?
1、c++ -> nodejs
c++里面沒有專門的buffer類型,但是有類似的char *[],所以我們可以把它當場buffer,那么怎么把它轉換成Nodejs的Buffer呢
用Nan::NewBuffer就可以實現:
Nan::NewBuffer(char* data, uint32_t size)
另外nan還提供了其它參數和buffer的工具方法,請移步:
https://github.com/nodejs/nan/blob/master/doc/buffers.md#api_nan_new_buffer
2、nodejs -> c++
node的buffer模塊提供了一些方法來做這件事
你需要引入node_buffer.h頭文件,但是便利的是nan.h其實都幫我們引入了這些必要的頭文件,所以你只需引入nan.h就可以了
通過如下代碼你就可以獲取到bufferData和長度:
Local<Object> bufferObj = args[0]->ToObject(); char* bufferData = node::Buffer::Data(bufferObj); size_t bufferLength = node::Buffer::Length(bufferObj);
參考鏈接:
http://www.jianshu.com/p/68d849df6e5e
http://deadhorse.me/nodejs/2012/10/10/c_addon_in_nodejs_buffer.html