code: def _decode16(self, offset):
          
          str_len, skip = self._decode_length(offset, 2)
          offset += skip
  
          # The len is the string len in utf-16 units
          encoded_bytes = str_len * 2
  
          data = self.m_charbuff[offset: offset + encoded_bytes]
  
          assert self.m_charbuff[offset + encoded_bytes:offset + encoded_bytes + 2] == b"\x00\x00", \
              "UTF-16 String is not null terminated! At offset={}".format(offset)
  
          return self._decode_bytes(data, 'utf-16', str_len)
docs: Decode an UTF-16 String at the given offset
  
          :param offset: offset of the string inside the data
          :return: str