Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
String komprimieren - Kürzen ohne Informationsverlust?
Hallo,
ich habe einen String mittels RSA verschlüsselt und davon den Hex Code des Byte Arrays in die DB eimgetrangen. Ich Trage mittels BasicValueNamePairs es in die DB an.
Probleme gibt es bei extrem langem Strings, da die Zeichenkette zu lang wird.
Wie kann ich nun eine Zeichenkette kürzen, sodass das eintragen in die Db klappt?
Ich dachte an einen Hash, aber wie kann man den schnell entschlüsseln? Was schlagt ihr vorl, um einen Strong ohne Informationsverlust zu kürzen?
Das hilft mir momentan nicht ganz weiter.Ich habe einen Input String, der Komprimiert einen String zurückliefern soll. Wie geht das genau? Die Beispiele liefern meist eim byte Array zurück.
Das hilft mir momentan nicht ganz weiter.Ich habe einen Input String, der Komprimiert einen String zurückliefern soll. Wie geht das genau? Die Beispiele liefern meist eim byte Array zurück.
Oder lässt sich ein Byte[] ohne große Längenzunahme in einen String umformen? Inhalte sollen natürlich nicht verloren gehen. Ich nutze momentan nämlich die Umwandlung in einen Hex-String, wodurch es erst so lang wird.
Shannon-Fano-Kodierung ist ganz gut und sehr einfach zu implementieren, das Verfahren und ein zweites angewendet, habe ich mal einen Wettbewerb gewonnen.
@ARadauer: Das Problem scheint die Übermittlung zu sein. Speichern in der Datenbank funktioniert.
Ich probiere es erst mal mit der Lauflängenkodierung.
Shannon-Fano-Kodierung ist ganz gut und sehr einfach zu implementieren, das Verfahren und ein zweites angewendet, habe ich mal einen Wettbewerb gewonnen.
Shannon-Fano ist nur effektiv, wenn sich die Wahrscheinlichkeiten gut verteilen. Ansonsten ist der Huffmann immer gleich gut oder besser, erfordert aber ein Dictionary zum decodieren.
@ARadauer: Das Problem scheint die Übermittlung zu sein. Speichern in der Datenbank funktioniert.
Ich probiere es erst mal mit der Lauflängenkodierung.
Nein, es liegt wohl am BasicNameValuePair. Da funktioniert es nicht bei langen Strings. Ich habe wo gelesen, dass die Länge dort begrenzt sein soll. Aber das weiß ich nicht genau. Es handelt sich um Android Programmierung.
Das mit dem Android kann man auch früher mal erwähnen ... Ansonsten: Das, was du (vermutlich?!) suchst, ist schon in der JavaDoc beschrieben: Deflater (Java Platform SE 6)