我在Java 1.6的驗證碼的Java打印Unicode字符到bash shell中(MAC OSX)
System.out.println("\u00b2");
但對OSX10.6慶典,我得到問號,而不是Unicode字符...
實際上我想打印字符176,177,178上的擴展ascii碼(看這裏http://www.asciitable.com/)在bash終端上創建一些藝術..
任何想法?
謝謝
我在Java 1.6的驗證碼的Java打印Unicode字符到bash shell中(MAC OSX)
System.out.println("\u00b2");
但對OSX10.6慶典,我得到問號,而不是Unicode字符...
實際上我想打印字符176,177,178上的擴展ascii碼(看這裏http://www.asciitable.com/)在bash終端上創建一些藝術..
任何想法?
謝謝
下面的代碼對我的作品在UTF-8啓用Terminal.app在Mac OS X 10.6.7:
# code taken from:
# "Print Unicode characters to the Terminal with Java",
# http://hints.macworld.com/article.php?story=20050208053951714
echo '
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
class Test {
public static void main (String[] argv) throws UnsupportedEncodingException {
String unicodeMessage = "\u00b2\u2591\u2592\u2593";
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(unicodeMessage);
}
}
' > test.java
javac test.java
java Test
bash是UTF8語言環境嗎?輸入區域設置命令並查看您的LANG是否適合(例如* en_GB.UTF-8 *之類的內容)。如果沒有,請更新LANG的值並重試。
首先,您需要確定終端會話中的字符編碼與您的java應用程序輸出的內容相匹配。你很可能想要UTF-8,我相信這是在OS X下的標準。
接下來,你需要確定終端會話中使用的字體實際上包含你想看到的字符。這些似乎很少見,並且可能不適用於所有字體。
確認Terminal > Preferences > Encodings
已檢查UTF-8。
實際上這些Unicode字符就可以了.. U + 2591 \t░\t透光燈罩 U + 2592 \t▒\t中等色調 U + 2593 \t▓\t深色陰影,但「\ u2592」似乎也沒有工作.. – luca 2011-06-17 10:18:18