Convertire numeri in array di byte

Quando lavoravo in C non c'era alcun problema a scrivere su un file binario un intero o un altro valore trasformandolo in un array di byte, bastava una cosa di questo tipo:

char bytes[5] = (char *)myinteger;

Ok, non è proprio preciso ma ci assomiglia :D scusate ma è un po' che non lo uso quindi a memoria non è facile. In .NET invece dove le tipizzazioni e il codice managed rendono a volte le cose complicate, visto che questo tipo di operazione non è quotidiana mi dimentico sempre come si fa, pertanto lo scrivo:

int val = 0x10008000;
byte[] bar = BitConverter.GetBytes(val);
File.WriteAllBytes("test.bin", bar);    

Il BitConverter che forse sarebbe stato più simpatico si chiamasse ByteConverter, permette di convertire in un array di Byte vari tipi di dati.

L'utilità, come si può vedere dal codice qui sopra è quella di scrivere su un file binario il contenuto di una variabile. Ricordo che ci sono ovviamente strumenti più moderni e più adatti, la Serializzazione binaria ad esempio ma quando serve una cosa veloce, anche questo può aiutare.

Tags: , ,

Print | posted on venerdì 10 ottobre 2008 23.57

Feedback

# re: Convertire numeri in array di byte

Left by Max at 13/10/2008 0.26
Gravatar Ciao Sabry,
Hai fatto bene, a volte certe funzioni matematiche non sono sempre immediate. Io avevo la necessità di convertire una serie di flag (bit) in numero e viceversa. Altro non sono riuscito a trovare se non creare una funzione di conversione ad-hoc.

Sempre in gamba !
Max

# re: Convertire numeri in array di byte

Left by jeremy at 26/02/2009 20.40
Gravatar Chiedo scusa se mi infilo nel suo Blog per segnalare che, ho fatto richiesta di iscrizione a questo forum circa un paio di giorni fa ma non mi è ancora pervenuta la mail con VerificationCode.
Ho guardato dappertutto, ma non mi è stato possibile trovare un indirizzo e-mail(probabilmente ho cercato male) e quindi mi sono infilato tra i commenti di questo articolo del Blog che, se non ho capito male, appartiene ad un Founder di questo sito.
Mi farebbe davvero piacere far parte di questa Community.
Grazie per l'Attenzione.
Jeremy

# re: Convertire numeri in array di byte

Left by Web developers at 20/08/2009 18.40
Gravatar Hai fatto bene, a volte certe funzioni matematiche non sono sempre immediate. Io avevo la necessità di convertire una serie di flag (bit) in numero e viceversa. Altro non sono riuscito a trovare se non creare una funzione di conversione ad-hoc.

Your comment:





 
Please add 4 and 2 and type the answer here:

Copyright © Sabrina C.

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski