Cocos2d-x游戏开发之第三方类库 iconv(uicode,utf-8)
来源:互联网 发布:淘宝加盟 编辑:程序博客网 时间:2024/06/06 02:09
要在头文件中加入iconv.h
在 debug.win32还有release.win32中加入iconv.lib charset.lib
在cocos2d-2.0-x-2.0.4\cocos2dx\platform\third_party\win32\下 建立一个iconv文件夹把iconv.h放进去
在项目属性,配置属性,连接器,输入 附加依赖项 中加入两个。lib
中文转换方法
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
//字符转换,使cocos2d-x在win32平台支持中文显示
int GBKToUTF8(std::string &gbkStr,const char* toCode,const char* formCode)
{
iconv_t iconvH;
iconvH = iconv_open(formCode,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;
}
#endif
上述方法是转换方法。
使用方法如下:
std::string titleStr = "是男人就坚持20秒";
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
GBKToUTF8(titleStr,"gb2312","utf-8");
#endif
CCLabelTTF* pLabel = CCLabelTTF::labelWithString(titleStr.c_str(), "Thonburi", 30);
在 debug.win32还有release.win32中加入iconv.lib charset.lib
在cocos2d-2.0-x-2.0.4\cocos2dx\platform\third_party\win32\下 建立一个iconv文件夹把iconv.h放进去
在项目属性,配置属性,连接器,输入 附加依赖项 中加入两个。lib
中文转换方法
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
//字符转换,使cocos2d-x在win32平台支持中文显示
int GBKToUTF8(std::string &gbkStr,const char* toCode,const char* formCode)
{
iconv_t iconvH;
iconvH = iconv_open(formCode,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;
}
#endif
上述方法是转换方法。
使用方法如下:
std::string titleStr = "是男人就坚持20秒";
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
GBKToUTF8(titleStr,"gb2312","utf-8");
#endif
CCLabelTTF* pLabel = CCLabelTTF::labelWithString(titleStr.c_str(), "Thonburi", 30);
- Cocos2d-x游戏开发之第三方类库 iconv(uicode,utf-8)
- PC版本游戏--cocos2d-x中文乱码解决办法(GBK到UTF-8编码)及其fatal error: iconv\iconv.h: No such file or directory问题
- 游戏开发教程cocos2d-x移植之三(上)
- iOS cocos2d-X之游戏开发环境搭建(一)
- Cocos2d-X游戏开发之libcurl(六)
- Cocos2d-X游戏开发之Json解析(七)
- Cocos2d—X游戏开发之cookie存取(八)
- Cocos2d-X游戏开发之CCTextFieldTTF(虚拟键盘输入)(十)
- Cocos2d-X游戏开发之CCTMXTileMap(瓦片地图)
- Cocos2d-x 游戏 开发 之 卡牌 (序篇)
- Cocos2d-x 游戏 开发 之 卡牌 (1)
- 《Cocos2d-x游戏开发之旅》学习笔记(一)
- 《cocos2d-x游戏开发之旅》学习笔记(二)
- 【cocos2d-x游戏开发】 从零单排之(一)
- 【cocos2d-x游戏开发】 从零单排之(二)
- 【cocos2d-x游戏开发】 从零单排之(三)
- 【cocos2d-x游戏开发】 从零单排之(四)
- cocos2d-x游戏开发(一)之环境搭建篇
- Python相关介绍(很好)
- Object-c 单例模式中的 allocWithZone作用
- delphi实现十进制与十六进制之间的转化
- 黑马程序员_java基础知识学习
- LeetCode | Climbing Stairs
- Cocos2d-x游戏开发之第三方类库 iconv(uicode,utf-8)
- MyEclipse6.5的速度性能优化大提速(转)
- Java SE学习笔记-Java概述
- C printf() 详解——printf('%08x',number); 程序员面试宝典中的一个错误 char * b=(char *)&a
- 关于国内B2C商城推广的一点分析
- ListView异步加载图片(解决图片混淆)
- UVa 10245 The Closest Pair Problem (计算几何&最近点对)
- pdf-xchange viewer背景颜色设置
- Linux系统安装VM-Tools