docs: def decodeUcs2(byteIter, numBytes):
      """ Decodes UCS2-encoded text from the specified byte iterator, up to a maximum of numBytes """
      userData = []
      i = 0
      try:
          while i < numBytes:
              userData.append(unichr((next(byteIter) << 8) | next(byteIter)))
              i += 2
      except StopIteration:
          # Not enough bytes in iterator to reach numBytes; return what we have
          pass
      return ''.join(userData)