Mainframe files have a completely different structure than what we're used to under Unix, Linux, and Windows. For example, usually mainframe files do not consist of "lines", meaning there is (very often) no line delimiter character at the end of a text line.
In addition, as you already noticed, binary coded fields cannot be read like text.
For these reasons it's always recommended to use PowerExchange for complex files (i.e. mainframe files) to read and write such files. Of course that costs quite some money, but it's stable, fast, and (for a user with a minimum of mainframe knowledge) easy to use.
The only alternative I see is programming your own interface to mainframe files. You can program such an interface in Java (in a Java transformation) or in C (using a Custom Transformation).
From my personal experience I can only say, if this is the only mainframe file you're ever going to read into PowerCenter AND you are skilled in Java, then you MAY try the route of a Java transformation.
In all other cases go for PowerExchange for mainframe files.
Everything else is a waste of time and energy and will cause you endless additional maintenance costs.
Again, my experience.