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.
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);
}
praticamente questi blocchi sono immagazzinati come un'oggetto creato da me "TDPtosend" e inseriti in un arraylist.
il "buffer" è l'array di bytes che contiene i dati da dividere
Grazie per l'aiuto a tutti!!