Per leggerlo non hai bisogno di sapere come è strutturato perché lo leggi carattere per carattere (meglio, byte per byte).

Il problema è "interpretare" quello che hai letto, ma è un'altra storia e non è un problema legato al codice.