Ciao a tutti, vi spiego qual'è il mio problema.
Devo leggere un file creato con un editor esadecimale per inviare poi tramite seriale i dati alla eeprom.
Ho già fatto questa operazione con diversi file e nn ho mai avuto problemi, questa volta però il file contiene numeri superiori all' 80 e quando vado a leggere nel file i numeri 81 8D e 8F non sono riconosciuti e vengono sostituiti da un "?".
Andando a consultare la mappa dei caratteri il punto di domanda corrisponde all'esadecimale 3F e così alla eeprom non sono inviati più i numeri esadecimali 81 8D e 8F ma 3F 3F e 3F.
Ho provato a utilizzare InputStreamReader
carica = GestisciFile.getFile();
file = new File(carica);
fis = new FileInputStream(file);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
ma se il file esadecimale in ingresso è fatto così:
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
in uscita ottengo questo:
80 3F 82 83 84 85 86 87 88 89 8A 8B 8C 3F 8E 3F
![]()
ho provato anche a cambiare il charset
isr = new InputStreamReader(fis, Charset.forName("ISO-8859-1"));
o
isr = new InputStreamReader(fis, Charset.forName("UTF-8"));
ma il risultato peggiora...![]()
Ho provato anche con DataInputStream ma nn cambia niente...come posso fare? :master:
grazie