.. highlightlang:: us .. index:: mem_compress .. _mem_compress: mem_compress ============ .. us.tag mem_compress GERMAN mem file-zip New420 Changed500 :ref:`mem_compress` komprimiert einen String. Der String kann auch Null-Zeichen enthalten. .. function:: ssCompressed = mem_compress(ssString) .. us.return **Returnwert** *ssCompressed* ist der komprimierte String. Die Funktion fügt dem komprimierten String einen 8-Byte langen Header zu. Der Header besteht aus den 4 Zeichen ``gzc\0`` und einem 32-Bit Wert in little endian byte-order (Intel), der die unkomprimierte Länge des Strings enthält. .. us.params **Parameter** .. uparam:: ssString *ssString* ist ein skalarer String. .. us.example **Beispiel** :: 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); Ausgabe: :: Size uncompressed: 91099.0000 Size compressed: 17992.0000 .. us.comment **Kommentar** Diese Funktion verwendet die 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 - Beschreibung * - 5.0.0 - UniPlot verwendet nun Unicode für Strings. * - 4.2.0 - Neu .. seealso:: :ref:`uberblick-strings`, :ref:`file-zip`, :ref:`mem_uncompress`, :ref:`CompressFile`, :ref:`DeCompressFile`, :ref:`mem_pack`, :ref:`mem_unpack` :sub:`id-1359285`