docs: def decodeBinaryData(binaryData, arrayLength, bitEncoding, compression):
      """Function to decode a mzML byte array into a numpy array. This is the
      inverse function of :func:`encodeBinaryData`. Concept inherited from
      :func:`pymzml.spec.Spectrum._decode` of the python library `pymzML
      <https://pymzml.github.io/>`_.
  
      :param binaryData: #TODO: docstring
      :param arrayLength: #TODO: docstring
      :param binEncoding: #TODO: docstring
      :param compression: #TODO: docstring
  
      :returns: #TODO: docstring
      """
      #TODO: should raise an error if a wrong compression is specified
      bitEncodedData = binaryData.encode("utf-8")
      bitDecodedData = B64DEC(bitEncodedData)
      floattype, numpyType = interpretBitEncoding(bitEncoding)
  
      if compression == 'zlib':
          decompressedData = zlib.decompress(bitDecodedData)
      else:
          decompressedData = bitDecodedData
  
      fmt = '{endian}{arraylength}{floattype}'.format(endian='<',
                                                      arraylength=arrayLength,
                                                      floattype=floattype
                                                      )
      dataArray = numpy.array(UNPACK(fmt, decompressedData), dtype=numpyType)
      return dataArray