首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#中的Unicode字符串文本与C++/CLI

C#中的Unicode字符串文本与C++/CLI
EN

Stack Overflow用户
提问于 2009-12-01 14:12:21
回答 2查看 2K关注 0票数 1
代码语言:javascript
复制
C#:
char z = '\u201D';
int i = (int)z;

C++/CLI:
wchar_t z = '\u201D';
int i = (int)z;

正如我所预料的,在C#中,"i“变成了8221 (201D美元)。另一方面,在C++/CLI中,它变成65428 ($FF94)。有个善良的灵魂能给我解释一下吗?

编辑wchar_t的大小在这里不会有问题,因为:

代码语言:javascript
复制
C++/CLI:
wchar_t z = (wchar_t)8221;
int i = (int)z;

在这里,i也变成了8221,所以wchar_t确实适合在我的系统上持有一个16位整数的游戏。埃克福舒斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-01 15:05:32

你想:

代码语言:javascript
复制
wchar_t z = L'\x201D';

来自这里。你是个未知数。

票数 4
EN

Stack Overflow用户

发布于 2009-12-01 14:16:27

根据维基百科

wchar_t的宽度是编译器特有的,可以小到8位。因此,需要跨任何C或C++编译器移植的程序不应该使用wchar_t来存储Unicode文本。wchar_t类型用于存储编译器定义的宽字符,在某些编译器中可能是Unicode字符。”

对于它是如何实现的,您不应该做任何假设。

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

https://stackoverflow.com/questions/1826426

复制
相关文章

相似问题

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