![]() |
CompressString ohne #0
Hallo,
suche einfache möglichkeit eine Zeichenkette zu komprimieren und wieder zu dekomprimieren. Das komprimierte sollte auch ein String sein. Das hat bestimmte Gründe, warum ich hier nciht mit Binärdaten arbeiten möchte, sondern mit Strings. Nun fürchte ich aber, daß im komprimierten output auch eine #0 darin sein kann, was eventuell beim folgenden "stringhandling" zu problemen führen könnte... "ZCompressionString" scheint zu machen was ich benötige, aber ich bin mir hier mit der #0 nicht sicher. Bei speicherung als "langer" string wird auch die länge extra gespeichert, so daß das pure string handling funktionieren dürfte... Aber was, wenn ich den String in eien Datei schreibe oder von Windows anzeigen lassen möchte (#0 n->ende für windows pchar) oder ... Am liebsten wäre mir ein compression output als String, der niemals eine #0 im String enthalten würde ... Wer kann mir hier helfen ? |
Re: CompressString ohne #0
Guten Morgen,
die Wahl des "richtigen" Kompressionsalgorithmus hängt von den Eingabedaten ab. Welche Eigenschaften hat der Eingabestring? Soll ein Standardverfahren verwendet werden? Muss das Verfahren streamfähig sein? Muss die Kompressionsrate maximal sein? Grüße vom marabu |
Re: CompressString ohne #0
Du könntest den String nach der Kompression auf '#0' prüfen und diese escapen. Also z.B. so:
1. Alle Zeichen außer #255 bleiben. 2. #255 wird zu #255#255 3. #0 wird zu #255#254 Beim Einlesen kopierst Du alles außer #255. Wenn das Zeichen = #255, prüfst Du das nächste Zeichen. Ist das = #254, schreibst Du #0 in den Outut, ist es = #255 dann schreibst Du #255. |
Re: CompressString ohne #0
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz