Я пытаюсь отобразить символы ASCII в моей JTextPanel, но это не работает для некоторых расширенных символов, таких как 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);
}
}
}
см. We.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,