Я пытаюсь прочитать двоичный файл в C#, но перед вами стоит проблема. я заявил следующее:Шестнадцатеричные числа C#
public static readonly UInt32 NUMBER = 0XCAFEBABE;
Тогда при чтении с самого начала файла я с просьбой прочитать первые 4 байта (уже пробовали разные способы, но это самый простой):
UInt32 num = in_.ReadUInt32(); // in_ is a BinaryReader
Хотя у меня есть 4 байта CA, FE, BA и BE (в шестнадцатеричном формате), в то время как они преобразуют их в UInt
. Я получаю разные значения. НОМЕР 3405691582, Num является 3199925962. я также пытался сделать это:
byte[] f2 = {0xCA, 0xFE, 0xBA, 0xBE};
и результат того, что BitConverter.ToUInt32(new byte[]{0xCA, 0xFE, 0xBA, 0xBE},0)
является 3199925962.
может кто-нибудь мне помочь?
благодаря
Вы пробовали 'Byte [ ] f2 = {0xBE, 0xBA, 0xFE, 0xCA}; '? http://en.wikipedia.org/wiki/Endianness – I4V
'CAFEBABE', это горячий номер: D – Nolonar