code: def process(self, filename, encoding, **kwargs):
          
          # make a "unicode sandwich" to handle dealing with unknown
          # input byte strings and converting them to a predictable
          # output encoding
          # http://nedbatchelder.com/text/unipain/unipain.html#35
          byte_string = self.extract(filename, **kwargs)
          unicode_string = self.decode(byte_string)
          return self.encode(unicode_string, encoding)
docs: Process ``filename`` and encode byte-string with ``encoding``. This
          method is called by :func:`textract.parsers.process` and wraps
          the :meth:`.BaseParser.extract` method in `a delicious unicode
          sandwich <http://nedbatchelder.com/text/unipain.html>`_.