2013-04-22 69 views
2

我無法找到適合此API的API。我試過了;在特定範圍內打印所有Unicode字符

public static void main(String[] args) { 
    for (int i = 2309; i < 3000; i++) { 
     String hex = Integer.toHexString(i); 
     System.out.println(hex + " = " + (char) i); 
    } 
    } 

此代碼僅在Eclipse IDE中打印。

905 = ? 
906 = ? 
907 = ? 
... 

我怎樣才能讓我們這些十進制和十六進制值,以獲得Unicode字符?

+0

愚蠢的錯誤!我沒有將它保存爲UTF-8格式。現在它正在工作。 – Mawia 2013-04-22 07:32:48

回答

2

這樣打印,因爲所有控制檯都使用單聲道間隔字體。嘗試在框架中的JLabel,它應該顯示正常。

編輯:

嘗試創建一個統一的PrintStream

PrintStream out = new PrintStream(System.out, true, "UTF-8"); 

然後打印到它。

下面是CMD窗口中的輸出。

enter image description here

+0

我解決了它。不管怎麼說,還是要謝謝你。 – Mawia 2013-04-22 07:34:07

+0

你是如何解決問題的? – 2013-04-22 07:34:47

+0

文件>屬性>選擇文本文件編碼。 – Mawia 2013-04-22 07:36:06

0

我忘了將通過改變它

文件保存爲UTF-8格式>屬性>選擇文本文件編碼

這將正確打印權來自Eclipse控制檯的字符。缺省值爲cp1252,對於那些不理解的字符,將僅打印?