我能夠正確顯示標準ASCII符號(最多127),如「心臟」,「筆記」,你知道我的意思。我也想展示一些我可以用來繪製牆壁的東西(比如U0205),但它不起作用。好吧,它可以工作,但看起來像「?」。任何方式我怎麼能展示他們?謝謝。Console.Write() - 顯示擴展的ascii字符?
回答
控制檯模式應用程序僅限於8位代碼頁編碼。許多機器的默認設置是IBM437,該代碼頁與舊的IBM PC字符集相匹配。您可以通過分配OutputEncoding屬性來更改代碼頁:
Console.OutputEncoding = Encoding.UTF8;
但現在您通常會遇到字體問題。控制檯默認爲終端字體,這是一種舊字體,字體在正確的位置具有字形以生成IBM PC字符集。沒有很多可用的字體可以生成與Unicode代碼點匹配的適當字形。 Consolas是關於它的,在Vista和Win7上可用。
但是,這不是你要求的,我想,我猜你實際上是在問老盒子畫的人物。這沒有任何修改控制檯設置的作品,你只需要使用正確的Unicode字符。下面是一個應該在複製和粘貼中生存的示例:
class Program {
static void Main(string[] args) {
Console.WriteLine("╒════════╕");
Console.WriteLine("│ Hello │");
Console.WriteLine("│ world │");
Console.WriteLine("╘════════╛");
Console.ReadLine();
}
}
要找到這些字符,請使用Windows charmap.exe小程序。單擊「高級視圖」複選框並在「搜索」文本框中鍵入「框」,網格將填充框繪製字符。第一個可以正確轉換爲控制檯的可用控件是'\ u250c'。
該問題似乎與控制檯應用程序,而不是您的程序。在Windows標準控制檯(CMD.EXE)似乎不支持Unicode正確的 - 例如,嘗試複製下面的字符串,並直接粘貼到的cmd.exe窗口:
FußballÖü
PowerShell似乎也遭受同樣的問題。
您的問題的一個可能的解決方案是創建一個專用的窗口/窗體用作「輸出控制檯」,而不是使用通過其執行應用程序的實際控制檯。
這些字符在控制檯窗口和Server 2008下的PowerShell中使用默認柵格字體顯示得很好。你正在運行什麼版本的Windows? – 2010-10-18 08:40:14
- 1. 顯示擴展ASCII字符
- 2. 在Ruby中顯示擴展ASCII字符
- 3. Vim和ASCII擴展字符?
- 4. 如何使用PDCurses顯示「OEM擴展ASCII」字符?
- 5. 如何在Perl中顯示擴展ASCII碼字符?
- 6. 顯示ASCII字符
- 7. 顯示ASCII字符
- 8. Code :: Blocks中的擴展Ascii字符C++
- 9. HTML中的IBM擴展ASCII字符
- 10. 使用AutoHotKey發送擴展ASCII字符
- 11. Oracle ASCII字符集 - .Net擴展
- 12. 擴展字符不顯示C#
- 13. C:錯誤的字符爲ASCII的轉換(從擴展ASCII表字符)
- 14. 將兩個ascii字符轉換爲其'對應'一個字符擴展ascii表示
- 15. 「的std :: ISDIGIT」崩潰的幾個擴展ASCII字符數
- 16. 轉換擴展的ASCII字符到Latin1的
- 17. 擴展的ASCII問題
- 18. 在URL中顯示非ASCII字符
- 19. NASM解析Ascii字符顯示
- 20. 非ASCII字符沒有顯示出來
- 21. 如何通過C++通過JNI傳遞擴展的ASCII字符
- 22. TCP接收擴展的ASCII或utf-8字符
- 23. 只需要過濾擴展的ASCII字符,如Ä,å,à等
- 24. 在網頁/母版頁中擴展ASCII字符的問題
- 25. 編碼爲單字節擴展ASCII值
- 26. MySQL擴展顯示
- 27. 如何從T-SQL中的字符串中刪除擴展的ASCII字符?
- 28. 如何在C#控制檯中顯示擴展的Unicode字符?
- 29. 如何使用Const Char *打印ASCII擴展字符?
- 30. 使用擴展ascii字符爲維基媒體API
Unicode U + 0205是「帶有雙重墳墓的拉丁小寫字母」,所以我不確定你在說什麼字符... – 2010-10-16 08:13:02
顯示實際的代碼。 – 2010-10-16 10:44:32