io uso il seguente codice per leggere le informazioni BigEndian utilizzando BinaryReader
, ma non sono sicuro se è il modo efficace di farlo. C'è una soluzione migliore?modo efficiente per leggere i dati big endian in C#
Qui è il mio codice:
// some code to initialize the stream value
// set the length value to the Int32 size
BinaryReader reader =new BinaryReader(stream);
byte[] bytes = reader.ReadBytes(length);
Array.Reverse(bytes);
int result = System.BitConverter.ToInt32(temp, 0);
grazie E 'molto interessante, ma per essere sicuri che ho avuto modo corretto l'idea, si può spiegare come si può leggere più di 4 byte. –
Basta chiamare 'ReadBytes' con una lunghezza più grande, e quindi utilizzare diversi' i's di leggere interi in posizioni diverse nella matrice. Ma questa è un'ottimizzazione da prendere solo dopo il benchmarking. – CodesInChaos
molto bello. grazie –