Autore Topic: convertire un valore numerico preso con getnumericValue(char) nuovamente in char  (Letto 848 volte)

Offline titanum

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
Ciao ragazzi, ho trovato un'implementazione dell'algoritmo rc4 in java a questo indirizzo:
RC4.java -
 a9cipher -
 
 
 A Java implementation of several popular encryption methods - Google Project Hosting
 

e sto provando a vedere se fa al caso mio.
Ho notato che il metodo encrypt prende in input un array di interi e ho realizzato questo metodo per convertire la mia stringa:

    public int[] toInt(String s){
       int len = s.length();
       int[] arr= new int[len-1];
       for(int i=0; i<len; i++){
          arr = Character.getNumericValue(s.charAt(i));
       }
       return arr;
    }

il problema è l'operazione inversa, non ho trovato un metodo che dato un valore ottenuto con getNumericValue in un char. Qualche suggerimento su come fare? Grazie

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:convertire un valore numerico preso con getnumericValue(char) nuovamente in char
« Risposta #1 il: 13 Settembre 2012, 13:04:32 CEST »
0
Il tuo codice ha un errore, al posto di "len-1" metti "len".

La stessa classe ha il metodo "toChars" (attento ritorna un array di caratteri non un carattere):

Character | Android Developers

adb logcat | tee /tmp/logcat | grep TAG

Offline titanum

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
Re:convertire un valore numerico preso con getnumericValue(char) nuovamente in char
« Risposta #2 il: 13 Settembre 2012, 14:59:05 CEST »
0
Grazie iceweasel, ma se ad esempio stampo Character.toChars(12)[0];  (che è l'output di Character.getNumericValue per la lettera c) mi esce un quadratino, e la stessa cosa se metto altri numeri sempre presi dall'output di di Character.getNumericValue(),  come mai? Per visualizzare il risultato metto l'output di toChars in una textview

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:convertire un valore numerico preso con getnumericValue(char) nuovamente in char
« Risposta #3 il: 13 Settembre 2012, 15:54:42 CEST »
0
Non devi mettere il primo elemento ma tutti gli elementi dell'array, Java utilizza UTF-16 (guarda Wikipedia) e questo dato è riportato chiaramente nella documentazione di "toChars".
adb logcat | tee /tmp/logcat | grep TAG