Verfahren zum Komprimieren einer SMS

Du solltest das Programm vielleicht in Java schreiben, da dass ja auf fast jedem aktuellen Handy läuft.
 
ich hab noch nie ein programm für ein Handy geschrieben!
Kann mir jemand ein Beispiel (möglichst in C) geben?
 
nicht jedes sonderzeichen geeignet

Wenn man es mit dem Computer macht hat man ganz andere Möglichkeiten. Markov-Ketten + Arithmetische Entropie Kodierung wären dann zu prüfen.
Mich interessieren aber nur Verfahren die man "von Hand" machen kann. Dazu gehört auch, dass die Liste der Ersetzungen übersichtlich bleiben muss, sonst könnte man die ~150 häufigsten 5-Zeichen-Kombinationen (inkl. Leerzeichen) durch 2-Zeichen-Kombinationen ersetzen. Leerzeichen mit einzubeziehen würde überhaupt etwas bringen, würde die Unleserlichkeit jedoch steigern. "EN ", "DE ", " D", " S", "N ", "E ", "R ", "T " , "S " sind sicherlich häufig.
Man darf nur solche Sonderzeichen verwenden, die sowohl eingebbar als auch mit einem Zeichen kodiert sind. {}\° sind nicht im SMS Zeichensatz, sondern werden mit zwei Zeichen kodiert. Will man wirklich umfassend komprimieren braucht man noch einige der Großbuchstaben.
Ich benutze diese Bi- und Trigramme: (ohne space)
ACH AU AUS BE CH DAS DE DEN DER DI DIE EI EIN EN END ENS ER ERE GE GEN HA HE HEN ICH IE IES IN IND INE IS MM ND NDE NDI NE NEN NG NGE NN NUN RE SCH ST TE TEN UN UND UNG WA WIR
Die Statistik einer SMS ist eine andere als die eines Buches oder einer Zeitung. Man kann eine allgemeine Statistik daher nur als Startpunkt nutzen und muss die Liste an die SMS-Sprache anpassen.
Ich kann bestätigen, dass man mit diesen Ersetzungen >20% mehr in eine SMS hinein bekommt. Die Deutschesprache enthält also ~15% Redundanz die man einfach beseitigen kann. Eine SMS könnte schon dann deutlich mehr Zeichen enthalten wenn man sprachübergreifend die Buchstaben mit 5 bis 9 bit kodiert hätte.
 
Zurück
Oben