求助:NodeJS编写C++扩展,在js向C++传递字符串时遇到问题

yuyutan 2015-02-05 11:48:38
这里正在写的是用JS调用NodeJS编写的C++接口,实现的是字符串的RSA加密解密。js里的代码是这样的:

console.log("the original value is : abcde");
var orgvalue = "abcde";
//OpenSSLFun. SSLGenerateKeyPairSynchronous();
//console.log(output);
var output = OpenSSLFun.SSLPrivateKeyEncryptSynchronous(orgvalue);//加密函数
console.log(output);
var output1 = OpenSSLFun.SSLPublicKeyDecryptSynchronous(output);//解密函数
console.log(output1);

原来的字符串经过加密之后编程了一堆乱码,乱码字符串传到output里的时候还是正确的,但是带入到解密函数里的时候,在C++里取得这个参数用的是下面这个方法:
v8::String::Utf8Value param0(args[0]->ToString());

应该是因为编码方式没能正确转换吧,param0得到的是完全不同的错误的乱码。中文字符串也试过,用这样的方法把v8的中文字符串转成std的的话,也会变成乱码。

求各位前辈帮帮忙,怎么才能正确转换啊,急需解决办法QAQQQ
...全文
344 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gergul 2015-12-13
  • 打赏
  • 举报
回复
楼主,解决方案找到了没有呢?我也遇到这问题了,求分享。
idea_yuye 2015-11-04
  • 打赏
  • 举报
回复
感谢楼主,正好有我想要的答案
yuyutan 2015-02-05
  • 打赏
  • 举报
回复
额写错了……是: v8::String::Utf8Value param0(args[0]->ToString()); ↑这里得到的v8字符串值是正确的,之后不管是用 char* pstring_buf=*param0; 还是 std::string(*param0) 转化成的std字符串都是错的……

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧