Javascript 如何在Google V8引擎中创建utf8字符串 您好,我用V8引擎嵌入C++程序,遇到字符串问题。

Javascript 如何在Google V8引擎中创建utf8字符串 您好,我用V8引擎嵌入C++程序,遇到字符串问题。,javascript,c++,string,v8,embedded-v8,Javascript,C++,String,V8,Embedded V8,当然,v8引擎完全支持utf8字符串,但我只是不知道如何 char path[ 1024 ]; GetCurrentDirectory( 1024, (LPWSTR)path ); script->Path = String::New(path); 但是,结果是唯一的字符“D”,因为String::New只接受char*和utf_16* 我检查了v8文档,发现没有办法生成utf8字符串,有人能帮我吗?因为您必须将“path”强制转换为LPWSTR,看起来您正在调用GetCurren

当然,v8引擎完全支持utf8字符串,但我只是不知道如何

char path[ 1024 ]; 

GetCurrentDirectory( 1024, (LPWSTR)path );

script->Path = String::New(path);
但是,结果是唯一的字符“D”,因为String::New只接受char*和utf_16*


我检查了v8文档,发现没有办法生成utf8字符串,有人能帮我吗?

因为您必须将“path”强制转换为LPWSTR,看起来您正在调用GetCurrentDirectory的宽字符串(unicode)Win32 API,即UTF-16。尝试将“路径”声明为wchar\t。如果utf_16是wchar_t的typedef,它可能直接与String::New一起工作。

thx作为提示,这是最终的工作代码:wchar path[1024];GetCurrentDirectory(1024,(LPWSTR)路径);脚本->路径=字符串::新建((uint16_t*)路径,wcslen(路径));