Salve a tutti,
Ho un problema e non avendo trovato soluzioni con il buon bigG vorrei sottoporlo a tutti voi, sapendo che sarà sicuramente utile a qualcun altro.
Nella mia applicazione ho un stringa. Questa viene convertita in bytes e dovrebbe essere suddivisa in blocchi di 4 bytes ciascuno per essere successivamente elaborata..(ma questa è un'altra storia..).
Il problema è che qualsiasi numero di bytes costituisca la stringa dovrei sempre arrivare ad avere un numero di blocchi che contenga sempre 4 bytes ciascuno, aggiungendo eventualmente bytes uguali a 0 se i bytes da dividere non sono multipli di 4.
Spero di essermi spiegato![]()
Io per ora sto utilizzando questo codice.
praticamente questi blocchi sono immagazzinati come un'oggetto creato da me "TDPtosend" e inseriti in un arraylist.codice:ArrayList TDPtoSend = new ArrayList(); //ora con un ciclo for (int i = 0; i <= buffer.Length -1 ; i= i+4) { //array di 4 byte byte[] buff = new byte[4]; buff[0] = buffer[i]; //si controlla di non uscire da buffer if ((i + 1) < buffer.Length - 1) { buff[1] = buffer[i + 1]; } //se no si aggiunge un byte vuoto else { buff[1] = 0000; } if ((i + 2) < buffer.Length - 1) { buff[2] = buffer[i + 1]; } //se no si aggiunge un byte vuoto else { buff[2] = 0000; } if ((i + 3) < buffer.Length - 1) { buff[3] = buffer[i + 1]; } //se no si aggiunge un byte vuoto else { buff[3] = 0000; } //si crea un nuovo oggetto TDP e lo si aggiunge TDP New = new TDP(buff); TDPtoSend.Add(New); }
il "buffer" è l'array di bytes che contiene i dati da dividere
Grazie per l'aiuto a tutti!!
![]()
![]()

Rispondi quotando