I'm the author of j8583. The j8583 library can be configured to handle any type and length for field 128 or any other field (within the valid constraints of ISO8583 of course).
If you are implementing ISO8583 communication with some external system, you need to get their spec to know what type they are expecting. And make sure they will be returning that field, because I've found some implementations where they set bit 128 in the bitmap but they don't actually return that field, and that causes a parsing error. This is so common that I patched the MessageFactory, adding a flag to ignore field 128 if it is set in the map but doesn't actually appear in an incoming message.