代码之家  ›  专栏  ›  技术社区  ›  Cauly

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

  •  1
  • Cauly  · 技术社区  · 15 年前

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

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

    char path[ 1024 ]; 
    
    GetCurrentDirectory( 1024, (LPWSTR)path );
    
    script->Path = String::New(path);
    

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

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

    1 回复  |  直到 15 年前
        1
  •  3
  •   Adam Mitz    15 年前

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