docs: def decode_filter(text, encoding='utf-8'):
      """
      decode a binary object to str and filter out non-printable characters
      
      Parameters
      ----------
      text: bytes
          the binary object to be decoded
      encoding: str
          the encoding to be used
  
      Returns
      -------
      str
          the decoded and filtered string
      """
      if text is not None:
          text = text.decode(encoding, errors='ignore')
          printable = set(string.printable)
          text = filter(lambda x: x in printable, text)
          return ''.join(list(text))
      else:
          return None