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
的大小在这里不是问题,因为:
C++/CLI:
wchar_t z = (wchar_t)8221;
int i = (int)z;
在这里,i
也变成了 8221,所以 wchar_t
确实可以在我的系统上保存一个 16 位整数。 Ekeforshus
最佳答案
关于c# - C# 与 C++/CLI 中的 Unicode 字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1826426/