diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/binaryview.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/python/binaryview.py b/python/binaryview.py index d68b8b24..04f0e2dc 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -93,6 +93,13 @@ class BinaryDataNotification(object): def type_undefined(self, view, name, type): pass +_decodings = { + StringType.AsciiString: "ascii", + StringType.Utf8String: "utf-8", + StringType.Utf16String: "utf-16", + StringType.Utf32String: "utf-32", +} + class StringReference(object): def __init__(self, bv, string_type, start, length): @@ -103,7 +110,11 @@ class StringReference(object): @property def value(self): - return binaryninja.pyNativeStr(self._view.read(self._start, self._length)) + return self._view.read(self._start, self._length).decode(_decodings[self._type]) + + @property + def raw(self): + return self._view.read(self._start, self._length) def __repr__(self): return "<%s: %#x, len %#x>" % (self._type, self._start, self._length) |
