Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568

    Conversione da stringa a array di byte

    Salve ragazzi,
    ho un problema abbastanza urgente. Dovrei ottenere un array di byte dai valori di una stringa. Mi spiego meglio, ho una stringa del genere

    3CD45C6AC ecc ecc contenente valori esadecimali, vorrei ottenere un array di byte che possa contenere questi valori quindi tipo l'array di byte valori[]={3C,D4,5C............. E' un paio di giorni che sbatto la testa su sto problema e non riesco. Perfavore aiutatemi :\

  2. #2
    Codifica una stringa in una sequenza di byte utilizzando il set di caratteri di default della piattaforma, memorizzando il risultato in un nuovo array di byte.

    codice:
    public class ByteStringConverter {
        
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            String s = new String("3ACD45C6AC");
            byte bytes[] = s.getBytes(); 
            	
            System.out.println("Length: " + bytes.length);
            for(int i=0; i<bytes.length; i++)System.out.println(bytes[i]);
        }
    }
    Non so se poi ti serve altro!

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Se quello che intendi è che da "10AE" ti ritorni qualcosa del tipo

    00010000, 10101110

    allora in metodi nella classe Integer possono aiutarti:

    Definisci un'eventuale strategia di padding (se la String ha "lunghezza dispari", aggiungi uno zero davanti?), poi spezzetti in substring di lunghezza 2 e il tuo array lo costruisci passando queste mini-stringhe per

    codice:
    Integer.parseInt(tua_mini_stringa, 16);
    che ritorna un decimale (o almeno ci prova) considerando la String passata in argomento come base 16. Da lì vedi te come rappresentare il valore (occhio un tipo byte potrebbe non essere sufficiente, da cui scaturisce la "necessità" di passare per int)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Devo passare un array di byte a una funzione del tipo che ho una stringa contenente queste lettere
    "3CD45C6ACB" vorrei inserire i valori a due a due come elementi dell'array. In pratica l'array di byte dovrebbe essere così composto
    byte array[]={3C,D4,5C,6A,CB}

    Con il metodo getbytes di java ottengo una conversione in byte di ogni singola lettera della stringa dei corrispettivi valori ASCII quindi non va bene :\

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.