new OutputStreamWriter(OutputStream) uses the "default character encoding", i.e. it depends on the user's locale.
According to Sun, "The default encoding is determined during virtual-machine startup and typically depends upon the locale and encoding being used by the underlying operating system."
What you need is new OutputStreamWriter(baos, "ISO-8859-1");
This is declared to throw UnsupportedCodingException, but must not in this case because all Java platforms are required to support this encoding.
We might have a corresponding issue in the InputStream/Reader interface in the other direction.
I'm reasonably confident that the Empeg protocol uses ISO-8859-1 for everything, but that's just an educated guess based on observations.