cocos2d-x游戏中文乱码
来源:互联网 发布:网络游戏挂机软件 编辑:程序博客网 时间:2024/05/17 21:48
常见的字符编码有:
1.ASCII码是单字节编码,编码范围是0x00-0x7F(最高位保持为0)。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符,只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。
2.GB2312 是对 ASCII 的中文扩展,正式的名称为MBCS(Multi-Byte Chactacter System,多字节字符系统)按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。
规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了
3.Unicode,unicode是全世界统一的编码规则,但是这个只规定了各种字符的数字编码(相当于一种标准),具体实现的存储方式有utff-8,utf-16,utf-32等形式。各种形式有不同的存储和与unicode代码的映射规则。
现在大部分具有国际化特征的软件核心字符处理都是以 Unicode 为基础的,在软件运行时根据当时的 Locale/Lang/Codepage 设置确定相应的本地字符编码设置,并依此处理本地字符。在处理过程中需要实现 Unicode 和本地字符集的相互转换,甚或以 Unicode 为中间的两个不同本地字符集的相互转换。这种方式在网络环境下被进一步延伸,任何网络两端的字符信息也需要根据字符集的设置转换成可接受的内容。
通常android手机和ipone手机上显示中文采用的编码是Unicode(UTF-8 带签名)
所以要想中文字体在手机上面显示需要把字符设置成Unicode(UTF-8 带签名),方法如下(vs2010):
1.选中字符所在的文件,
2,选择“文件”菜单
3.选择“高级保存选项” ,然后可以设置该文件的字符编码了。
如果把字符编码设置成 Unicode(UTF-8 带签名),那么在vs2010中运行游戏,发现中文显示乱码了
为什么?那是因为vs2010用的编码方式是GB2321,这时我们需要把Unicode编码转换成为GB2312编码
怎么呢,首先:定义wstring或者wchar_t,比如:static const wstring W_GAMEOVER_TITLE = L"数据统计";
static const wchar_t* W_KILL_LABEL = L"本局杀死敌人数: %d人";
注意:wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码。unicode编码的字符一般以wchar_t类型存储。
std::string UTF8TOGBK(const wstring& text)
{
int asciisize = WideCharToMultiByte(CP_UTF8, 0, text.c_str(), text.size(), NULL, 0, NULL, NULL);
if (asciisize == ERROR_NO_UNICODE_TRANSLATION ||
asciisize == 0)
{
return string();
}
char* resultstring = new char[asciisize];
int convresult = WideCharToMultiByte(CP_UTF8, 0, text.c_str(), text.size(), resultstring, asciisize, NULL, NULL);
if (convresult != asciisize)
{
return string();
}
std::string buffer(resultstring, convresult);
delete[] resultstring;
return buffer;
}
- cocos2d-x游戏中文乱码
- cocos2d-x 中文乱码
- 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法
- 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法
- cocos2d-x 中文 乱码问题
- cocos2d-x 中文 乱码问题
- cocos2d-x之中文乱码
- cocos2d-x解决中文乱码
- 【Cocos2d-X】中文乱码问题
- cocos2d-x中文乱码问题解决
- Cocos2d-x 中文乱码问题
- cocos2d-x中文乱码问题解决
- cocos2d-x 3.x 中文乱码问题解决
- 【Cocos2D-X 游戏引擎】初窥门径(10)解决中文乱码
- Cocos2d-x 3.2 大富翁游戏项目开发-第十九部分 国际化-解决中文乱码
- vs2010 中cocos2d-x 中文 乱码问题
- cocos2d-x解决中文乱码问题
- [cocos2d-x] --- 完美解决中文乱码
- 新感受--分层思想、耦合性
- C#创建日志通用类<包含log4net日志和特殊日志(年/月/日/文件
- 梦想,从现在开始起飞
- 通用的日志处理类(分享)
- signed与unsigned的问题
- cocos2d-x游戏中文乱码
- 程序设计师真情忏悔录
- ARM9(S3C2440) LCD
- 4个mysql客户端工具的比较
- redis与mysql数据同步
- 股票术语之期货、期权
- Verilog HDL运算符
- Linux 文件缓冲区
- lettuce---redis异步通信