C#和UnicodeStringLiteralsinC++/CLIC#:charz='u201D';inti=(int)z;C++/CLI:wchar_tz='u201D';inti=(int)z;在C#中,“i”如我所料变为8221($201D)。另一方面,在C++/CLI中,它变为65428($FF94)。有人能给我解释一下吗?编辑:wchar_t大小在这里不是问题,因为:C++/CLI:wchar_tz=(wchar_t)8221;inti=(int)z;在这里,i变为8221,因此wchar_t确实依赖于具有16位整数的游戏。Ekeforshus你想要:wchar_tz=L'x201D';从这里。你是未定义的。根据维基百科:“wchar_t的宽度是特定于编译器的,可以小到8位。因此,需要跨任何C或C++编译器移植的程序不应使用wchar_t来存储Unicode文本。使用wchar_t类型withCompilerforstorage-定义宽字符,在某些编译器中可能是Unicode字符。”您不应该对它的实现方式做出任何假设。以上就是《C#学习教程:C#与C++/CLI中的Unicode字符串字面量》的全部内容。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络合集,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
