node js c++ add on中js和c++交互传值中,大部分都是使用Utf8Value来接收字符串。但是当传入中文的时候,会发现,Utf8Value中存的中文会出现问题。使用Value而不是Utf8Value即可实现正确读取中文字符。
中文乱码的代码
NAN_METHOD(SendClipboard) {
String::Utf8Value s1(info[1]->ToString());
int length = s1.length();
int dataSize = length+1;
}
修改后的代码
NAN_METHOD(SendClipboard) {
String::Value s1(info[1]->ToString());
int length = s1.length();
int dataSize = (length+1)*2; //当成宽字符来处理
}