code: def encode(s):
      
      if not isinstance(s, text_type):
          return s
  
      r = []
      _in = []
  
      def extend_result_if_chars_buffered():
          if _in:
              r.extend(['&', modified_utf7(''.join(_in)), '-'])
              del _in[:]
  
      for c in s:
          if ord(c) in PRINTABLE:
              extend_result_if_chars_buffered()
              r.append(c)
          elif c == '&':
              extend_result_if_chars_buffered()
              r.append('&-')
          else:
              _in.append(c)
  
      extend_result_if_chars_buffered()
  
      return ''.join(r)
docs: Encode a folder name using IMAP modified UTF-7 encoding.
  
      Despite the function's name, the output is still a unicode string.