code: def feed(self, fws, string, charset):
      # If the charset has no header encoding (i.e. it is an ASCII encoding)
      # then we must split the header at the "highest level syntactic break"
      # possible. Note that we don't have a lot of smarts about field
      # syntax; we just try to break on semi-colons, then commas, then
      # whitespace.  Eventually, this should be pluggable.
      if charset.header_encoding is None:
          self._ascii_split(fws, string, self._splitchars)
          return
      # Otherwise, we're doing either a Base64 or a quoted-printable
      # encoding which means we don't need to split the line on syntactic
      # breaks.  We can basically just find enough characters to fit on the
      # current line, minus the RFC 2047 chrome.  What makes this trickier
      # though is that we have to split at octet boundaries, not character
      # boundaries but it's only safe to split at character boundaries so at
      # best we can only get close.
      encoded_lines = charset.header_encode_lines(
          string, self._maxlengths()
      )
      # The first element extends the current line, but if it's None then
      # nothing more fit on the current line so start a new line.
      try:
          first_line = encoded_lines.pop(0)
      except IndexError:
          # There are no encoded lines, so we're done.
          return
      if first_line is not None:
          self._append_chunk(fws, first_line)
      try:
          last_line = encoded_lines.pop()
      except IndexError:
          # There was only one line.
          return
      self.newline()
      self._current_line.push(self._continuation_ws, last_line)
      # Everything else are full lines in themselves.
      for line in encoded_lines:
          self._lines.append(self._continuation_ws + line)
  
imports: import re
  import binascii
  import email.quoprimime
  import email.base64mime
  from email.errors import HeaderParseError
  from email import charset
label_desc: Use image node_id 6 for calling the _ValueFormatter obj's underlying member method code with example usage: obj.feed(fws, string, charset) without return types