The way Racket embeds images into your source code is actually somewhat interesting. If a `.rkt` file includes a rich element (eg. image, table, GUI structure, etc.) then the result file format is not strictly human-readable anymore. Instead, the source code is stored in the homegrown 'WXME' format which, while text-based, is not actually human-parsable anymore. That makes source code diffs a pain.
Emacs could technically parse these files on load and write them on save, but that might be a bit tricky. The Racket library that reads and writes this format is documented at http://docs.racket-lang.org/gui/WXME_Decoding.html?q=wxme .