Desafío de compresión de texto de Twitter

ReglasSu programa debe tener dos modos:codificación ydescodificación.

Cuandocodificación:

Su programa debe tomar como entrada alguna legible por humanosLatin1 texto, probablemente en inglés.No importa si ignoras los signos de puntuación.Solo debes preocuparte por las palabras reales en inglés, no por L337.Cualquier letra acentuada se puede convertir a ASCII simple.Puedes elegir cómo quieres tratar con los números.123uno dos tresciento veintitrés1231 2 3ciento veintitrésuno dos tresciento veintitrés1231 2 3

Su programa debe mostrar un mensaje que se puede representar en

140 puntos de código en el rangoU+0000U+10FFFF

Excluyendo no caracteres:

U+FFFEU+FFFFU+nFFFE, U+nFFFF dónden es110 hexadecimalU+FDD0U+FDEFU+D800U+DFFF (puntos de código sustituto).

Puede obtenerse en cualquier codificación razonable de su elección; cualquier codificación soportada porÑUiconv se considerará razonable, y la codificación nativa o codificación de su plataforma probablemente sea una buena opción.

Cuandodescodificación:

Su programa debe tomar como entrada la salida de sucodificación modo.La salida de texto debe ser una aproximación del texto de entrada.Cuanto más te acerques al texto original, mejor.No necesita tener puntuacion.

El texto de salida debe ser legible por un humano, de nuevo probablemente en inglés.

Puede ser L337, o lol.El proceso de decodificación puede no tener acceso a ninguna otra salida del proceso de codificación que no sea la salida especificada anteriormente; es decir, no puede cargar el texto en alguna parte y generar la URL para que se descargue el proceso de decodificación, o algo tan estúpido como eso.En aras de la coherencia en la interfaz de usuario, su programa debe comportarse de la siguiente manera:Su programa debe ser un script que pueda configurarse como ejecutable en una plataforma con el intérprete apropiado, o un programa que pueda compilarse en un ejecutable.Tu programa debe tomar como primer argumentoencode odecode para configurar el modo.Su programa debe tener entrada en al menos una de las siguientes maneras:Tome la entrada de la entrada estándar y produzca una salida en la salida estándar.my-program encode <input.txt >output.utfmy-program decode <output.utf >output.txtTome la entrada de un archivo nombrado en el segundo argumento y produzca una salida en el archivo nombrado en el tercero.my-program encode input.txt output.utfmy-program decode output.utf output.txtPara su solución, por favor publique:Su código, completo, y / o un enlace a él alojado en otro lugar (si es muy largo, o requiere muchos archivos para compilar, o algo así).Una explicación de cómo funciona, si no es inmediatamente evidente a partir del código o si el código es largo y la gente estará interesada en un resumen.Un texto de ejemplo, con el texto original, el texto al que se comprime y el texto descodificado.Si está construyendo sobre una idea que alguien más tuvo, atribúyalos. Está bien intentar hacer un refinamiento de la idea de otra persona, pero usteddebe atribúyalos

Las reglas son una variación de las reglas paraDesafío de codificación de imágenes de Twitter.

Respuestas a la pregunta(3)

Su respuesta a la pregunta