eclipse強轉無法輸出ASCII碼為3的字元(黑桃),而輸出unicode值可以?
01-07
java源文件與控制台編碼均為UTF-8
因為ASCII碼為3的並不是黑色心形符號,而是「End of Text」特殊字元。引用Wikipedia的表格:
ASCII

值為3的ASCII字元確實有一種圖像解讀方式是:
ASCII code 03 = ETX ( End of Text, hearts card suit )
( HTML entity = hearts; )
但這只是某些平台上某些字體對控制字元的解讀而已,並不是ASCII編碼的本意。
況且Java里,(char) 3
本意並不是「值為3的一個ASCII字元」,而是「值為U+0003的一個UTF-16 code point」。碰巧這個code point正好跟ASCII碼的意思一樣而已。
Unicode里表示撲克牌的黑色心形符號的字元是U+2665,也就是題主代碼里後一種情況。
首先,這個是紅心? 在 cp437 裡面才是 3

如果你用 DOS 中斷寫屏的話,就能調出這些字元。Windows 的 Console 可以模擬這種行為,在 XP 時代用過 TURBO PASCAL 的都知道它的界面就是用這些字元畫的。
java裡面的字元編碼是unicode,不是ascii。建議題主參閱《java核心技術卷一》,裡面有比較清楚的解釋。
推薦閱讀:
※都說 IntelliJ 比 Eclipse 好用,那麼 IntelliJ 有哪些好用的技巧?
※eclipse設置斷點時設置不上?
※目前多數互聯網公司的Android開發是使用eclipse還是Android studio?

