Twitter Textkomprimierung Herausforderung

RegelnIhr Programm muss zwei Modi haben:Codierung undDekodierung.

WannCodierung:

Ihr Programm muss eine für Menschen lesbare Eingabe enthaltenLatin1 Text, vermutlich Englisch.Es spielt keine Rolle, ob Sie Satzzeichen ignorieren.Sie müssen sich nur um die tatsächlichen englischen Wörter kümmern, nicht um L337.Alle Buchstaben mit Akzenten können in einfaches ASCII konvertiert werden.Sie können wählen, wie Sie mit Zahlen umgehen möchten.123eins zwei dreiEinhundertdreiundzwanzig1231 2 3Einhundertdreiundzwanzigeins zwei dreiEinhundertdreiundzwanzig1231 2 3

Ihr Programm muss eine Meldung ausgeben, die in dargestellt werden kann

140 Codepunkte im BereichU+0000U+10FFFF

Nicht-Zeichen ausschließen:

U+FFFEU+FFFFU+nFFFE, U+nFFFF wohern ist110 hexadezimalU+FDD0U+FDEFU+D800U+DFFF (Ersatzcodepunkte).

Es kann in jeder angemessenen Codierung Ihrer Wahl ausgegeben werden. Beliebige von unterstützte KodierungGNUiconv wird als vernünftig angesehen, und Ihre plattformeigene Codierung oder die Codierung des Gebietsschemas wäre wahrscheinlich eine gute Wahl.

WannDekodierung:

Ihr Programm sollte als Eingabe die Ausgabe IhresCodierung Modus.Die Textausgabe sollte eine Annäherung an den eingegebenen Text sein.Je näher Sie dem Originaltext kommen, desto besser.Muss keine Interpunktion haben.

Der Ausgabetext sollte für einen Menschen lesbar sein, wieder vermutlich Englisch.

Kann L337 sein, oder lol.Der Decodierungsprozess hat möglicherweise keinen Zugriff auf eine andere Ausgabe des Codierungsprozesses als die oben angegebene Ausgabe. Das heißt, Sie können den Text nicht irgendwo hochladen und die URL für den Decodierungsprozess zum Herunterladen ausgeben oder ähnliches.Aus Gründen der Konsistenz der Benutzeroberfläche muss sich Ihr Programm wie folgt verhalten:Ihr Programm muss ein Skript sein, das auf einer Plattform mit dem entsprechenden Interpreter als ausführbar festgelegt werden kann, oder ein Programm, das in eine ausführbare Datei kompiliert werden kann.Ihr Programm muss entweder als erstes Argument nehmenencode oderdecode um den Modus einzustellen.Ihr Programm muss Eingaben auf mindestens eine der folgenden Arten vornehmen:Nehmen Sie die Eingabe vom Standardeingang und erzeugen Sie die Ausgabe vom Standardausgang.my-program encode <input.txt >output.utfmy-program decode <output.utf >output.txtNehmen Sie die Eingabe aus einer Datei, die im zweiten Argument benannt ist, und erzeugen Sie die Ausgabe in der Datei, die im dritten Argument benannt ist.my-program encode input.txt output.utfmy-program decode output.utf output.txtFür Ihre Lösung senden Sie bitte:Vollständiger Code und / oder ein Link zu diesem Code, der an einer anderen Stelle gehostet wird (wenn er sehr lang ist oder viele Dateien zum Kompilieren erfordert).Eine Erklärung, wie es funktioniert, ob es nicht sofort aus dem Code ersichtlich ist oder ob der Code lang ist und die Leute an einer Zusammenfassung interessiert sind.Ein Beispieltext mit dem Originaltext, dem komprimierten Text und dem dekodierten Text.Wenn Sie auf einer Idee aufbauen, die jemand anderes hatte, schreiben Sie sie bitte zu. Es ist in Ordnung zu versuchen, die Idee eines anderen zu verfeinern, aber SieMuss schreiben sie zu.

Die Regeln sind eine Variation der Regeln fürTwitter Image Encoding Challenge.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage