I would not read the file into memory but instead just keep an eye on where the offset of the top left corner of your editor is. Then just use random file access using Stream.Seek and to read that part of the file when needed and display it to the end user.
The actual conversion from hex, binary and octal is easy and the System.Convert.ToString(byte, int) is your friend here.