在我的应用程序中,我需要从图像上显示的扩展ASCII表中获取字符。但是,当我将十进制值转换为char时,会得到不同的字符。这些字符在JAVA中的真正价值是什么?我不会在控制台或文件中将字符写到图像中。

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;
}


谢谢您的帮助,对不起,我的英语不好:-)

最佳答案

我针对此问题的解决方案是,我使用所需的字符手动创建了一个char数组

关于java - JAVA扩展ASCII表的用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13826781/

10-10 03:28