我試圖顯示一組撲克牌,其中有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