游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8024|回复: 20

游戏一般是使用ANSI还是Unicode?还是两者都兼容?

[复制链接]

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
发表于 2010-12-2 17:44:00 | 显示全部楼层 |阅读模式
如题。。。。。。

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2010-12-2 18:11:00 | 显示全部楼层

Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

如今?Win2000都可以扔了的年代,全unicode吧!

11

主题

1238

帖子

1782

积分

金牌会员

Rank: 6Rank: 6

积分
1782
发表于 2010-12-2 20:01:00 | 显示全部楼层

Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

我猜楼主会说:占用内存更多了

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2010-12-3 00:30:00 | 显示全部楼层

Re: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

hyzboy: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

如今?Win2000都可以扔了的年代,全unicode吧!


就是习惯使用string了,不习惯用wstring,
另外文本文件的编码格式默认也是ANSI的。

不过我也倾向于unicode,在游戏中要处理大量的汉字,特别是UI中字数、大小的统计以及IME,如果是多字节,常常要判断当前是否是半个汉字还是一个字母。
我想知道大家都是用哪一个。

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2010-12-3 09:07:00 | 显示全部楼层

Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

我用 tstring

#include <tchar.h>
#include <xstring>

typedef std::basic_string<TCHAR> tstring;

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2010-12-3 10:18:00 | 显示全部楼层

Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

以Unicode为主,ANSI为辅,Windows2000以后在Win32API内部都是Unicode的,XxxxA这些函数内部都是把字符转转换成Unicode再调用XxxxW函数的

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2010-12-3 11:23:00 | 显示全部楼层

Re: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

小小C: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

我用 tstring

#include <tchar.h>
#include <xstring>

typedef std::basic_string<T...


ok

typedef basic_string<char, char_traits<char>, allocator<char> > string;
typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring;
如果要兼容的话,用typedef声明一下便可以了。

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2010-12-3 11:24:00 | 显示全部楼层

Re: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

artint: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

以Unicode为主,ANSI为辅,Windows2000以后在Win32API内部都是Unicode的,XxxxA这些函数内部都是把字符转转换成Unicode再调用XxxxW函数的


恩。

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-12-3 15:30:00 | 显示全部楼层

Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

Winsock2  函数还是以ANSI为主  连Unicode都不支持  

ANSI网络传输也剩一点资源(无关紧要),  剩下就是用哪个都一样了。

主要是看客户端   如果不是ANSI就悲剧了。

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2010-12-3 16:34:00 | 显示全部楼层

Re: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

109117198: Re:游戏一般是使用ANSI还是Unicode?还是两者都兼容?

Winsock2  函数还是以ANSI为主  连Unicode都不支持  

ANSI网络传输也剩一点资源(无关紧要),  剩下就是...

Winsock2和unicode/ANSI没有关系,这就像你在讨论DirectX支不支持Unicode一样.

1.Winsock 中部分函数是由UNIX系统过渡过来的,为了保持兼容这些函数不能变更
2.Winsock重点的是数据的传输处理,char* 要么作为标志参数(就像fopen中你用"rb+"那样), 要么作为数据传输,数据的表现由你自己去定义.而User32类的函数大部分都与显示相关的,编码搞错了屏幕上的显示就会乱套.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-5-30 11:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表