diff --git a/javaobj.py b/javaobj.py index 51e320d..9fec6f4 100644 --- a/javaobj.py +++ b/javaobj.py @@ -47,6 +47,12 @@ # Python 3+ from io import BytesIO +try: + import ftfy.bad_codecs + javacodec = "utf-8-var" +except ImportError: + javacodec = "utf-8" + # ------------------------------------------------------------------------------ # Module version @@ -641,7 +647,7 @@ def _readString(self, length_fmt="H"): """ (length,) = self._readStruct(">{0}".format(length_fmt)) ba = self.object_stream.read(length) - return to_str(ba) + return to_str(ba.decode(javacodec)) def do_classdesc(self, parent=None, ident=0): """