cocos2dx 3.0 中文 iconv 转换函数


//#include <string>
#pragma once
#include "cocos2d.h";
#include "iconv\include\iconv.h"
//#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) // 编译链接的时候指定静态库
//#pragma comment(lib,"libiconv.lib")
//#endif
int convert(char *from_charset, char *to_charset, const char *inbuf, size_t inlen, char *outbuf, size_t outlen)
{
iconv_t cd;
const char* temp = inbuf;
const char** pin = &temp;
char** pout = &outbuf;
memset(outbuf,0,outlen);
cd = iconv_open(to_charset,from_charset);
if(cd==0)
return -1;
if(iconv(cd,(char**)pin,&inlen,pout,&outlen) == -1)
return -1;
return 0;
}

std::string tochinese(const char *inbuf){
size_t inleng = strlen(inbuf);
char* outbuf = new char[inleng * 2 +2];
std::string strRet;
if(convert("gb2312","utf-8",inbuf,inleng,outbuf,inleng*2+2)==0)
strRet = outbuf;
delete[] outbuf;
return strRet;
}

cocos2dx 3.0 中文 iconv 转换函数

时间: 2024-07-28 13:54:48

cocos2dx 3.0 中文 iconv 转换函数的相关文章

cocos2d-x 3.0 使用Sax解析xml文档(解决中文显示问题)

今天是个好日子,心想的事儿都能成,明天是个好日子,打开了家门儿迎春风... 恩,听着歌写文档生活就是这么享受. 今天以前的邻居大神突然在qq上赞了我一下,这让我异常激动啊..这还要从前前前几天说起,那会无意间看到cocos微信上的一个实话实说活动,反正就是参加了可以抽奖这样子啦,没错,我就是本着那官方T恤去的,本着分子越大分母越大抽奖几率越大的原则,然后就连着发了一番感慨,而且还都是比较罗嗦,没想到隔天cocos君竟然给我回复了,中奖了有木有,cocos2dx的官方T恤,哈哈..然后就是以前的大

cocos2d-x 3.0 在C++中调用lua函数

代码用的是<cocos2d-x 3.0 在lua中调用自定义类>中的代码. 在上篇的基础上进行扩充. 写lua函数 local function process_packet(user_data) if user_data then user_data = tolua.cast(user_data, "user_data"); print (user_data:uid()); print (user_data:uname()); end end local ghall =

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(2): 检查

这里的函数主要用来做:检查操作.参考资料为quick_cocos. 星月倾心贡献~~~ --[[ -- 检查并转换为数值,转换失败则返回 0 -- @param value 要检查并转换的值 -- @param base 进制,默认为十进制 -- @return number 返回的数值 --]] function checkNumber( value, base ) return tonumber( value, base ) or 0 end --[[ -- 检查并转换为布尔值, 除了nil

PHP 数字金额转换成中文大写金额的函数 数字转中文

/** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰仟亿"; //精确到分后面就不要了,所以只留两个小数位 $num = round($num, 2); //将数字转化为整数 $num = $num * 100; if (strlen($

【Cocos2d-x 3.0 基础系列一】 各类回调函数写法汇总

一.button回调 1. Lambda 表达式,C++11 Lambda 赋予了Cocos2d-x 3.0创建回调函数的灵活性. auto itemNor = Sprite::create("CloseNormal.png"); auto menuItem = MenuItemSprite::create(itemNor,nullptr,nullptr,[](Ref* sender) { log("show this msg."); }); auto menu =

PHP iconv()编码转换函数用法示例

PHP iconv()字符编码转换函数的用法,iconv()函数,在php5中是内置的,语法格式:iconv("UTF- 8","GB2312//IGNORE",$data) ,//IGNORE的意思是忽略转换错误,如果没有ignore参数,在转换错误时所有该字符后面的字符串都无法被保存..PHP iconv()函数用 法的代码示例: <?php echo $str= '你好,欢迎来到源码爱好者!'; echo '<br />'; echo ico

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(5): 返回指定表格中的所有键(key):table.keys

这里的函数主要用来做:返回指定表格中所有的键.参考资料为quick_cocos. 星月倾心贡献~~~ --[[ -- 返回指定表格中的所有键(key) -- example: local t = ( a = 1, b = 2, c = 3 ) local keys = table.keys( t ) -- keys = { "a", "b", "c" } -- @param t 要检查的表格(t表示是table) -- @param table

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(7): 其他table方法

看了下其他的table方法,好像没有什么好说的,注释里已经写的很明白了,这里就不罗嗦了~(小白:懒...).参考资料为quick_cocos. 星月倾心贡献~~~ --[[ -- 返回指定表格中的所有值(value) -- example local t = { a = 1, b = 2, c = 3 } local values = table.values( t ) -- values = { 1, 2, 3 } -- @parame t 要检查的表格(t表示是table) -- @para

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(8): 生成只读table

这个函数的作用是:生成只读table. --[[ -- 生成只读table -- @param table t 需要不允许修改的table example: local tb = {"星期一", "星期二", "星期日"} local days = readOnly( tb ); days[2] = "星期三哪去了啊?" ; "[string \"Functions.lua\"]:466: 别修改