在我的應用程序中我需要從圖像上顯示的擴展ASCII表中獲取字符。但是當我將十進制值轉換爲char時,我得到了不同的字符。這些字符在JAVA中的真正價值是什麼?我不會在控制檯或文件中將字符寫入圖像中。JAVA擴展ASCII表使用
private void generateAsciiMatrix()
{
//32 - 255 are visible characters in ascii table
for(int i = 32; i < 256; i++)
{
this.generateAsciiMatrix((char)i);
}
}
private void generateAsciiMatrix(char letter)
{
EBufferedImage character = new EBufferedImage(
ImageClass.charToImage(letter, width, height));
//...some code
}
public static BufferedImage charToImage(char c, int width, int height)
{
BufferedImage off_Image = new BufferedImage(width, height,
BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g2 = off_Image.createGraphics();
g2.setColor(Color.black);
g2.setBackground(Color.WHITE);
g2.clearRect(0, 0, width, height);
g2.setFont(new Font("Monospaced", Font.PLAIN, 12));
g2.drawString(Character.toString(c), 0, height);
saveImage(off_Image, "code" + (int)c);
return off_Image;
}
謝謝您的幫助,對不起我的英語不好:-)
「擴展ASCII表」是簡單的「以上ASCII」八位字節值,以碼元的終端(或其他呈現設備)上的一個映射。也就是說,它只是許多[code-pages](http://en.wikipedia.org/wiki/Code_page)中的一個*來映射128-255的值。也就是說,顯示的字符取決於它應用的*什麼*顯示它(例如指定的含義和「字體」)和其他適用的規則(例如代碼頁或「語言」)。 – 2012-12-11 19:07:16
那麼如何強制我的java程序使用這個代碼頁? –
http://en.wikipedia.org/wiki/List_of_Unicode_characters可能是這可以幫助你。 – Smit