首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unicode char和multibyte char:哪种类型更有效?为什么?

unicode char和multibyte char:哪种类型更有效?为什么?
EN

Stack Overflow用户
提问于 2011-11-28 02:23:07
回答 2查看 1.3K关注 0票数 1

它们之间的区别是什么

代码语言:javascript
复制
wchar_t arry[] 

代码语言:javascript
复制
char arry[] 

键入initialization。

对于Unicode,我知道字符,我知道它有几种编码格式。其中windows使用UTF-16。这意味着大多数字符都是16位的。但在char类型中,一个字符是8位。这是否意味着我们可以在wchar类型中存储2byte?

哪种类型更有效?为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-28 02:48:35

两者在Windows上都是可变长度的(其中wchar_t意味着UTF-16),而后者对于大多数测试来说都是浪费的。即使在CJK中,通过网络传输的文本也有一半是ASCII。

The most portable and easiest way to support Unicode is to use UTF-8 (char)。当为了将字符串传递给Windows API而转换为UTF-16时,这意味着较小的性能损失,但与系统调用相比相对较小。

票数 0
EN

Stack Overflow用户

发布于 2011-11-28 02:40:09

多字节是一种可变宽度编码。在使用英语工作时,您将使用1个字节,但对于非常罕见的字符集,通常使用2个或更多字节(最多6个字节)。因此,在内存使用方面,多字节通常更好。但是,当您需要知道字符串中有多少个字符时,在unicode中,您可以将字符串长度除以2 (sizeof (wchar_t))。在多字节中,你必须遍历整个字符串,并计算字母的数量。参见multibyte

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8287878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档