Advertisement
HwapX

Endianness Reverse

Sep 14th, 2015
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.81 KB | None | 0 0
  1. using System.IO;
  2. using System;
  3.  
  4. class Program
  5. {
  6.     static byte[] EndiannessReverse(byte[] data, int chunk_size) {
  7.         byte[] rev  = new byte[data.Length];
  8.        
  9.         for(int i = 0; i < data.Length; i++) {
  10.             int chunk_idx = i / chunk_size;
  11.             int byte_pos  = (chunk_size - 1) - (i % chunk_size);
  12.             int byte_idx  = chunk_idx * chunk_size;
  13.             rev[i] = data[byte_idx + byte_pos];
  14.         }
  15.        
  16.         return rev;
  17.     }
  18.    
  19.     static void Main()
  20.     {
  21.         byte chunk_size = 4;
  22.        
  23.         byte[] data = {0xF5, 0xA2, 0x64, 0x22, 0x78, 0x41, 0x80, 0xCB};
  24.         byte[] rev  = EndiannessReverse(data, chunk_size);
  25.        
  26.         Console.WriteLine(BitConverter.ToString(data));
  27.         Console.WriteLine(BitConverter.ToString(rev));
  28.     }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement