我试图显示一组扑克牌,其中有1F0A0到1F0DF范围内的Unicode值。每当我尝试在代码中使用超过4个字符的字符时,我都会遇到错误。在这种情况下可以使用这些字符吗?我正在使用Visual Studio 2012.如何在C#控制台中显示扩展的Unicode字符?
char AceOfSpades ='\ u1F0A0';打字后立即给出错误“字符字面值太多的字符”这仍然显示与Unicode或UTF8编码。如果我尝试像上面那样显示'\ u1F0A'...使用Unicode它会显示'?'使用UTF8它显示3个字符。
我尝试了所有给定的选项OutputEncoding string AceOfSpades = "\U0001F0A0";
默认,的Unicode,ASCII:??
UTF7:+2DzcoA-
UTF8:四个奇怪的字符 UTF32,BigEndianUnicode:IOException异常 Console.OutputEncoding = System.Text.Encoding.UTF32;
,尽管是一个选项,崩溃,即使它是只有一行代码。 UTF16不在列表中。
如何检查我使用的是哪个版本的Unicode?
你是什么意思“我得到错误”?你的意思是编译时错误,还是只是不能正确显示?这是在命令行控制台上吗? – 2013-03-01 23:25:42
另外,请提供一个简单的代码示例,说明您面临的问题。 – millimoose 2013-03-01 23:31:18
我认为输出从\ u0000到\ uFFFF有限,但我现在可能会混淆。 – 2013-03-01 23:39:14