Well, the raw bytes are not really helpful because they contain the
raw bitstream with all the QR code headers and not the real payload.
Hence parsing the bitstream would cause something like a
reimplementation of the DecodedBitStreamParser. I do agree in your
interpretation of the specs, it wasn't planed to encode binary data.
Defining a 8-bit character set in the ECI designator was the easiest
solution for me. In that case I've had to decode the String afterwards
in my ResultParser with the same character set back to a byte array.
We've successfully encoded ordinary Midi-Files in QR Codes and finally
played them back on cell phones (with a rewritten javame client of
course).