newlist

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
//编码转换
    //#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) 
    //    string title = "成绩";
    //    GBK2UTF8(title,"gb2312","utf-8"); 
    //#endif 
    static int GBK2UTF8(std::string & gbkStr, const char* toCode, const char* fromCode)  
    {  
        iconv_t iconvH;  
        iconvH = iconv_open(fromCode, toCode);  
        if (iconvH == 0)  
        {  
            return -1;  
        }  

        const char* strChar = gbkStr.c_str();  
        const char** pin = &strChar;  
        size_t strLength = gbkStr.length();  
        char* outbuf = (char*) malloc(strLength*4);  
        char* pBuff = outbuf;  

        memset( outbuf, 0, strLength*4);  
        size_t outLength = strLength*4;  
        if (-1 == iconv(iconvH, pin, &strLength, &outbuf, &outLength))  
        {  
            iconv_close(iconvH);  
            return -1;  
        }  
        gbkStr = pBuff;  
        iconv_close(iconvH);  
        return 0;  
    }

 

posted on 2013-06-20 12:03  一枚程序  阅读(502)  评论(0)    收藏  举报