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.
_________________________
Toby Speight
030103016 (80GB Mk2a, blue)
030102806 (0GB Mk2a, blue)