.. highlightlang:: us .. _mem_compress: mem_compress ============ .. index:: mem_compress .. us.tag mem_compress ENGLISH mem file-zip New420 Changed500 :ref:`mem_compress` compresses a string which may contain 0-characters. .. function:: ssCompressed = mem_compress(ssString) .. us.return **Return Value** *ssCompressed* is the compressed string. The function inserts an 8 byte long header at the beginning of the string. The header starts with the 4 characters ``gzc\0`` followed by a 32-Bit value in little endian byte-order (Intel) which contains the string length of the uncompressed string. .. us.params **Parameters** .. uparam:: ssString *ssString* is a scalar string. .. us.example **Example** :: filename = GetRootDirectory() + "/script/mn_grid.ic"; fp = fopen(filename, "r"); s = fread(fp, "char"); fclose(fp); c = mem_compress(s); print "Size uncompressed:", strlen(s); print "Size compressed:", mem_len(c); Output: :: Size uncompressed: 91099.0000 Size compressed: 17992.0000 .. us.comment **Comment** This function uses the zlib-Library (http://www.gzip.org/zlib/). Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler. UniPlot verwendet Unicode-Strings, die zwei Bytes pro Zeichen verwenden (UTF-16). Die Funktion :ref:`mem_compress` verwendet nur jeweils die unteren Bytes des Unicode-Strings. Müssen alle Bytes des Unicode-Strings komprimiert werden, können die Funktionen :ref:`mem_unpack` und :ref:`mem_pack` vor dem Komprimieren bzw. nach dem Dekomprimieren verwendet werden: .. highlight:: none :: * mc = mem_compress(mem_unpack("你们好")) * print mem_pack(mem_uncompress(mc)) 你们好 .. highlight:: us .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Description * - 5.0.0 - Unicode strings. * - 4.2.0 - New .. seealso:: :ref:`overview-strings`, :ref:`file-zip`, :ref:`mem_uncompress`, :ref:`CompressFile`, :ref:`DeCompressFile`, :ref:`mem_pack`, :ref:`mem_unpack` :sub:`id-1359285`