v8::String::utf8value 中文乱码问题

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; //当成宽字符来处理
}

你可能感兴趣的:(BUG,c++,乱码,字符串)