You must not understand the concept of a hex editor (for the record it could just as easily be a binary, octal, decimal, etc editor, hexadecimal is just a convenient number systems when it codes to computers).
Everything on a computer is represented, on its lowest level, by numbers stored in memory. A file is just one big, long number. Therefore any file can be opened and of course edited in its numeric form. Your success in editing it to achieve a desired effect will depend on how well you understand that file, but it will always be possible.
Since humans aren't machines we find it much easier to understand things other than numbers, so we make programs (which themselves are a number) that will turn that big number of a file into something meaningful, usually graphically.