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)。某種靈魂可以向我解釋這個嗎?C#與C++/CLI中的Unicode字符串文字
編輯:的wchar_t
大小不能問題在這裏,因爲:
C++/CLI:
wchar_t z = (wchar_t)8221;
int i = (int)z;
這裏也i
變爲8221,所以wchar_t
確實達持有的16位整數的遊戲我的系統。 Ekeforshus
你的第二個例子並沒有證明大小不是問題 - >在第一個例子中的第二個例子中,z是否爲z? – 2009-12-01 14:28:00