如何在 Google V8 引擎中创建 utf8 字符串

发布于 2024-09-13 14:07:47 字数 320 浏览 2 评论 0原文

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

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

char path[ 1024 ]; 

GetCurrentDirectory( 1024, (LPWSTR)path );

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

然而,结果是唯一的字符“D”,对于 String::New 只接受 char* 和 utf_16*

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

Hello Im using v8 engine embedded in C++ program and I met a string problem.

Well of course v8 engine fully support utf8 string, but i just dont know how.

char path[ 1024 ]; 

GetCurrentDirectory( 1024, (LPWSTR)path );

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

However, the result is the only character "D", for String::New only accepts char* and utf_16*

I checked the v8 document and found no way to make a utf8 string, can anybody help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

∝单色的世界 2024-09-20 14:07:47

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

Since you had to cast "path" to LPWSTR, it looks like you are calling the wide-string (unicode) Win32 API for GetCurrentDirectory, which is UTF-16. Try declaring "path" as wchar_t instead. If utf_16 is a typedef for wchar_t, it may work directly with String::New.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文