Java's standard library has routines that generate "modified" UTF-8 strings, which are unreadable using the standard UTF-8 support in FLEXI-STREAMS. The following link describes the differences, which are aimed at preventing NUL bytes from being part of the data: [https://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html#modified-utf-8](https://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html#modified-utf-8)