code: def iter_text_fixups(data, encoding):
      
  
      yield data
      if encoding == Encoding.UTF16BE:
          # wrong termination
          yield data + b"\x00"
      elif encoding == Encoding.UTF16:
          # wrong termination
          yield data + b"\x00"
          # utf-16 is missing BOM, content is usually utf-16-le
          yield codecs.BOM_UTF16_LE + data
          # both cases combined
          yield codecs.BOM_UTF16_LE + data + b"\x00"
docs: Yields a series of repaired text values for decoding