code: def match_encoding_declaration(comment):
      
  
      # the coding line must be ascii
      try:
          comment = comment.decode('ascii')
      except UnicodeDecodeError:
          return None
  
      index = comment.find('coding')
      if index < 0:
          return None
      next_char = comment[index + 6]
      if next_char not in ':=':
          return None
      end_of_decl = comment[index + 7:]
      index = 0
      for char in end_of_decl:
          if char not in WHITESPACES:
              break
          index += 1
      else:
          return None
      encoding = ''
      for char in end_of_decl[index:]:
          if char in EXTENDED_ALNUMCHARS:
              encoding += char
          else:
              break
      if encoding != '':
          return encoding
      return None
docs: returns the declared encoding or None
  
      This function is a replacement for :
      >>> py_encoding = re.compile(r"coding[:=]\s*([-\w.]+)")
      >>> py_encoding.search(comment)