【问题标题】:cocos2d-x c++ string unicode convertcocos2d-x c++ 字符串 unicode 转换
【发布时间】:2013-08-10 15:19:20
【问题描述】:

我使用CCHttpRequest 请求一个网页,然后当我使用CCString 打印接收到的响应时,我可以毫无问题地看到土耳其字符,但是当我使用std::string 分配接收到的响应并打印CCLog 奇怪字符时过来。我该如何解决这个问题?

std::vector<char> *buffer = response->getResponseData();

char jenny [buffer->size()];

for (unsigned int i = 0; i < buffer->size(); i++)
{
    jenny[i] = (*buffer)[i];
}


CCString* uStr = CCString::createWithContentsOfFile(jenny);

string wStr(jenny);

CCLog("%ls", &wStr);

CCString 响应:从文件中获取数据( Gönderildi

字符串 CCLog 响应:����k�4p

【问题讨论】:

    标签: c++ unicode utf-8 cocos2d-x


    【解决方案1】:

    您只是想在 CCLOG 中打印值还是想在 CCLabel 中实际显示它们?

    如果你想在 CCLabel 中显示它们,那么你可以通过以下方式进行:

    1. 将值存储在 std::string 中
    2. 当您将它分配给标签时,然后使用 c_str() 方法来检索值。

    例子:

    std::string friendID            = friendDetails->getFBID();
    CCLabelTTF *friendNameLabel = CCLabelTTF::create(friendName.c_str(), "Helvetica", 20.0 * MENU_FONT_SCALE);
    friendNameLabel->setString(friendName.c_str());
    

    IMO,这应该可以正常工作。我在我的一个库中使用它们,我在其中从 Facebook 获取数据并在游戏中使用它。

    这是code link,我在其中显示了 FB 用户的 Facebook 朋友的姓名。

    【讨论】:

      【解决方案2】:

      尝试设置语言环境,这里有一个链接可以为您提供帮助

      Why doesn't printf format unicode parameters?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-14
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-21
        相关资源
        最近更新 更多