1

你好,我使用嵌入在 C++ 程序中的 v8 引擎,我遇到了一个字符串问题。

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

char path[ 1024 ]; 

GetCurrentDirectory( 1024, (LPWSTR)path );

script->Path = String::New(path);

但是,结果是唯一的字符“D”,因为 String::New 只接受 char* 和 utf_16*

我检查了 v8 文档,发现无法制作 utf8 字符串,有人可以帮助我吗?

4

1 回答 1

3

由于您必须将“路径”强制转换为 LPWSTR,因此您似乎正在为 GetCurrentDirectory 调用宽字符串(unicode)Win32 API,即 UTF-16。尝试将“路径”声明为 wchar_t。如果 utf_16 是 wchar_t 的 typedef,它可以直接与 String::New 一起使用。

于 2010-08-09T03:01:53.237 回答