parameters: (c, quotetabs, header)
return_statement: return c == ESCAPE or not (b' ' <= c <= b'~')
docstring: Decide whether a particular byte ordinal needs to be quoted.
  
      The 'quotetabs' flag indicates whether embedded tabs and spaces should be
      quoted.  Note that line-ending tabs and spaces are always encoded, as per
      RFC 1521.
docstring_summary: Decide whether a particular byte ordinal needs to be quoted.
docstring_tokens: Decide whether a particular byte ordinal needs to be quoted .
function: def needsquoting(c, quotetabs, header):
      """Decide whether a particular byte ordinal needs to be quoted.
  
      The 'quotetabs' flag indicates whether embedded tabs and spaces should be
      quoted.  Note that line-ending tabs and spaces are always encoded, as per
      RFC 1521.
      """
      assert isinstance(c, bytes)
      if c in b' \t':
          return quotetabs
      # if header, we have to escape _ because _ is used to escape space
      if c == b'_':
          return header
      return c == ESCAPE or not (b' ' <= c <= b'~')
function_tokens: def needsquoting ( c , quotetabs , header ) : assert isinstance ( c , bytes ) if c in b' \t' : return quotetabs # if header, we have to escape _ because _ is used to escape space if c == b'_' : return header return c == ESCAPE or not ( b' ' <= c <= b'~' )