Visualizzare lettere avendo byte

di il
5 risposte

Visualizzare lettere avendo byte

Buongiorno
Sto facendo una applicazione tra un PLC e un pannello sviluppato con Java
Nel mio PLC devo ricevere fino a 120 lettere dentro 120 stringhe.
Il mio PLC e il pannello comunicano tramite word di 16 bit
Io dovrei riuscire a visualizzare queste lettere sul mio pannello.
E' fattibile? ma soprattutto è complicato?

Grazie

5 Risposte

  • Re: Visualizzare lettere avendo byte

    CiProvo ha scritto:


    Sto facendo una applicazione tra un PLC e un pannello sviluppato con Java
    Nel mio PLC devo ricevere fino a 120 lettere dentro 120 stringhe.
    Il mio PLC e il pannello comunicano tramite word di 16 bit
    Io dovrei riuscire a visualizzare queste lettere sul mio pannello.
    E' fattibile? ma soprattutto è complicato?
    Si può fare tutto ma devi chiarire meglio il contesto, precisando bene da con cosa si parte e a cosa si vuole arrivare. In Java è perfettamente possibile convertire sequenze di byte in caratteri/stringhe e viceversa ma un aspetto importante è dato dal charset (set di caratteri). Dalla stringa "città" si può ottenere una sequenza di byte differente a seconda del charset applicato. Se es. ISO-8859-1 ottieni 5 byte, se UTF-8 ne ottieni 6 (2 byte per la "à"), se UTF-16 ne ottieni 10 e se fosse US-ASCII non è codificabile a causa della "à".
  • Re: Visualizzare lettere avendo byte

    Scusa, mi sono spiegato male. Provo a spiegarmi in maniera basica come sono
    Il charset è UTF-8.
    Nel mio PLC ho una stringa di 120char. Ogni stringa è un byte ASCII.
    esempio lettera a , il mio byte vale 97. Io trasferisco il byte a una variabile che colloquia con il pannello in Java (VarPLC[2230])
    A pannello vedo il 97 ma vorrei riuscire a vedere a
    Grazie
  • Re: Visualizzare lettere avendo byte

    CiProvo ha scritto:


    Il charset è UTF-8.
    Nel mio PLC ho una stringa di 120char. Ogni stringa è un byte ASCII.
    esempio lettera a , il mio byte vale 97. Io trasferisco il byte a una variabile che colloquia con il pannello in Java (VarPLC[2230])
    A pannello vedo il 97 ma vorrei riuscire a vedere a
                 //  c   i    a   o       c    i    t    t   +--à--+
    byte[] dati = { 99, 105, 97, 111, 32, 99, 105, 116, 116, -61, -96 };
    
    String str = new String(dati, StandardCharsets.UTF_8);
    System.out.println(str);   // stampa: ciao città
    con:
    import java.nio.charset.StandardCharsets;
  • Re: Visualizzare lettere avendo byte

    Ok grazie . Provo
  • Re: Visualizzare lettere avendo byte

    Ho fatto. Grazie 1000
Devi accedere o registrarti per scrivere nel forum
5 risposte