有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Swing:未显示扩展ASCII字符

我试图在JTextPanel中显示ASCII字符,但对于一些扩展字符(如ASCII 217、ASCII 180和ASCII表中未找到的向上箭头)无效

我从文件系统中读取一个带有ASCII字符的文件,现在假设我的问题是显示文件内容。对于上面的字符,将显示一个空格。 我已经尝试了Charset.availableCharsets()中所有可用的字符集和几种字体

public static void main(String[] args) throws IOException {

        JFrame frame = new JFrame();
        frame.setTitle("test");
        frame.setBounds(100, 100, 900, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        Container contentPane = frame.getContentPane();

        JTextPane panel = new JTextPane();
        contentPane.add(panel);

        JFileChooser fileChooser = new JFileChooser();
        if ( fileChooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION ) {
            File selectedFile = fileChooser.getSelectedFile();
            InputStream in = new FileInputStream(selectedFile);
            InputStreamReader reader = new InputStreamReader(in, StandardCharsets.ISO_8859_1);
            BufferedReader buffer = new BufferedReader(reader);
            String s = null;
            if ((s = buffer.readLine()) != null) {
                panel.setText(s);
            }       
        }
    }

再见。tl/t-4hf9pgcsEZ(带https)下载测试文件

以下是该文件的内容:

À¹ëÉÃN§T´jtkDÄ´†ê]":2q'6u$Q!44à!

  ®

当我通过“编辑问题窗口”中的内容时,我清楚地看到了字符,但当我保存编辑时,许多字符消失了。。。也许是我面临的问题的线索


使用联机工具以六边形转换的文件:

0xC0, 0xB9, 0xEB, 0xC9, 0xC3, 0x04, 0x4E, 0xA7, 0x54, 0xB4, 0x6A, 0x74, 0x6B, 0x44, 0xC4, 0x18, 
0xB4, 0x17, 0x86, 0xEA, 0x5D, 0x22, 0x3A, 0x32, 0x17, 0x12, 0x13, 0x71, 0x27, 0x11, 0x36, 0x75, 
0x24, 0x51, 0x21, 0x34, 0x34, 0x10, 0x14, 0xE0, 0x21, 0x02, 0x0E, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 
0x0F, 0x0F, 0x00, 0x00, 0xAE, 

共 (0) 个答案