Мне нужно записать целое число в байтовый массив так, чтобы начальные нули опускались, а байты записывались в порядке с прямым порядком байтов.
Пример:
int original = 0x00123456;
byte[] encoded = Encode(original); // == new byte[] { 0x12, 0x34, 0x56 };
int decoded = Decode(encoded); // == 0x123456
Мой Decode
метод:
private static int Decode(byte[] buffer, int index, int length)
{
int result = 0;
while (length > 0)
{
result = (result << 8) | buffer[index];
index++;
length--;
}
return result;
}
Я изо всех сил пытаюсь придумать метод Encode
, который не требует временного буфера или обращает байты после записи их в порядке байтов. Кто-нибудь может помочь?
private static int Encode(int value, byte[] buffer, int index)
{
}