Cocos2dx学习: GBK 和 UTF-8的转换
2023-02-19 12:21:10 时间
int code_convert(const char *from_charset, const 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;
iconv_close(cd);
return 0;
}
GBK 转 UTF-8
std::string a2u(const char *inbuf)
{
size_t inlen = strlen(inbuf);
char * outbuf = new char[inlen * 2 + 2];
std::string strRet;
if (code_convert("GBK", "UTF-8", inbuf, inlen, outbuf, inlen * 2 + 2) == 0)
{
strRet = outbuf;
}
delete[] outbuf;
return strRet;
}
UTF-8转 GBK
std::string u2a(const char *inbuf)
{
size_t inlen = strlen(inbuf);
char * outbuf = new char[inlen * 2 + 2];
std::string strRet;
if (code_convert("UTF-8", "GBK", inbuf, inlen, outbuf, inlen * 2 + 2) == 0)
{
strRet = outbuf;
}
delete[] outbuf;
return strRet;
}
相关文章
- 河道水面漂浮物垃圾识别监测系统
- Linux下简单计算md5,base64,sha1,sha2
- 记一次黑苹果的安装
- KMP算法笔记II ----- 学会计算next数组
- 2018面试总结
- Python 计算文件中总行数
- Python 计算与伪造TCP序列号
- Python 使用PyQt生成图形界面
- 可信计算 RESTFul API
- 可信计算压力测试
- 过年必备!亲戚计算器「GitHub 热点速览 v.23.02」
- 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」
- GitHub 桌面版 v3.0 新特性「GitHub 热点速览」
- 高手过招不用鼠标,一款超好用的跨平台命令行界面库
- 感恩陪伴 HelloGitHub 定制的红包封面
- 在 GitHub 复活 80 年代的游戏代码,它们出自第一本售出百万册的计算机书籍
- Tomcat 应用中并行流带来的类加载问题
- 函数式编程杂谈
- Kafka 原理和实战
- 基于 Lerna 管理 packages 的 Monorepo 项目最佳实践