migliorabile ha scritto:
Ho visto ora il codice Java. Puoi tentare questa strada:
...
char c = (char)r & 0x7F;
...
Strata tentata
In effetti usare l'encoding causa solo fastidi, ho risolto come consigliato, per ora, usando codifica ISO-8859-1.
Con poche righe ho un risultato QUASI leggibile, sembra natale vi ringrazio infinitamente.
Ora pare ci sia solo un problema con il fine riga, infatti all'inizio di ogni riga convertita spunta un carattere "random", se è solo così mi basta tagliare la stringa... ora provo.... intanto posto il codice (non prendete paura )
private void convert() {
if(file1!=null) {
jTextArea1.setText("");
try {
Charset encoding = Charset.forName("ISO-8859-1");
File file = new File(file1);
InputStream input = new FileInputStream(file);
Reader reader = new InputStreamReader(input,encoding);
Reader buffer = new BufferedReader(reader);
int r;
while((r=buffer.read()) != -1) {
char c = (char)r;
char cc = convertChar(c);
jTextArea1.append(String.valueOf(cc));
}
}
catch (FileNotFoundException ex) {
// file not found
} catch (IOException ex) {
// io exc
}
}
}
private char convertChar(char c) {
char r = (char) ((char)c & 0x7F);
return r;
}
Ed ecco il risultato:
- %N0 M00 (RULLI D235 L574,5)
MN1 OZ5
XN2 T1 M6 (TONDO R8)
PN3 M3 M41 G96 S100 F0,45
=N4 G00 X250 Z8
Se taglio la stringa però non tornerò mai più al file originale. Ergo dovrei capire cos'è quel carattere "random" per poi fare la conversione inversa e tornare al cnc (che era poi il problema di partenza )