Find Jobs
Hire Freelancers

Hacer un proyecto de python sobre compresión y descompresión de archivos de texto con LZ77

€8-30 EUR

Suljettu
Julkaistu 3 kuukautta sitten

€8-30 EUR

Maksettu toimituksen yhteydessä
Proyecto: Algoritmo LZ77 con longitud fija 1. Dada una cadena de caracteres, una posición correcta k en dicha cadena, y dos longitudes de buffers M y N, programar una función buffers que devuelva los búferes de búsqueda y codificación correspondientes a dicha posición, y compruébese con cuidado los casos extremos, al comienzo o al final de la cadena. Definir M y N como constantes globales ambas de 248. 2. Fijados un búfer de búsqueda y un búfer de codificación, ambos de caracteres ASCII, programar una función triple que a partir de dos strings con ambos búferes devuelva el triple (offset, long, char) del algoritmo LZ77. Prevéanse las posibles situaciones límite (búferes vacíos, long máxima, etc.) y compruébese que el resultado es siempre correcto. Decidir de manera opcional si se pueden solapar ambos búferes o no (se valorará más el primer caso). 3. Programar una función complete en la que, dada una cadena “descodificada” y un triple, complete la cadena de acuerdo con la información del triple. 4. Entregar el código de Python con las tres funciones. 5. Programar una función llamada text2triples que lea una cadena de caracteres y devuelva una lista de triples con el algoritmo LZ77, haciendo un bucle que recorra la cadena de principio a fin, actualizando la posición del algoritmo en dicha cadena. 6. Programar una función llamada triples2text que a partir de una lista de triples reconstruya la cadena de texto correspondiente. 7. Programar una función triples2bits que lea una lista de triples, y a partir de ella genere un bitarray, le añada un 1, lo complete con 0’s hasta que la longitud del bitarray sea múltiplo de 8 (padding). La función debe devolver el bitarray generado. 8. Programar una función bits2triples que lea un bitarray, elimine el padding (el 1 seguido de ceros del final), vaya leyendo los bits y reconstruya la lista de triples que ha generado el bitarray. 9. A partir de las funciones de las entregas anteriores, programar una función llamada compress que lea un archivo de texto, comprima el archivo y guarde el resultado (bitarray) en un archivo binario. Los parámetros de la función serán las rutas del archivo de texto y del archivo binario comprimido, y la función devolverá el número de bytes del archivo comprimido. 10. De la misma manera, programar una función llamada decompress que lea un archivo binario comprimido con la función anterior, lo vuelque en un bitarray, lo descomprima en una cadena de texto, y guarde el resultado en un archivo ASCII. Los parámetros de la función serán las rutas del archivo binario y del archivo de texto descomprimido, y la función devolverá el número de caracteres del archivo descomprimido. Poner todo en un programa completo, con las 9 funciones y el programa principal (main). Este programa main tendrá un menú con dos opciones: (1) comprimir un archivo de texto, y (2) descomprimir un archivo binario.
Projektin tunnus (ID): 37494320

Tietoa projektista

5 ehdotukset
Etäprojekti
Aktiivinen 2 kuukautta sitten

Haluatko ansaita rahaa?

Freelancerin tarjouskilpailun edut

Aseta budjettisi ja aikataulu
Saa maksu työstäsi
Kuvaile ehdotustasi
Rekisteröinti ja töihin tarjoaminen on ilmaista
5 freelancerit tarjoavat keskimäärin €42 EUR tätä projektia
Käyttäjän avatar
Holaa! He hecho varios proyectos en python, también de comprensión, tal vez te pueda ayudar, cualquier cosa podemos hablarlo por chat
€150 EUR 7 päivässä
5,0 (3 arvostelua)
2,2
2,2
Käyttäjän avatar
Hola, mi nombre es Carlos David Nimo y son ingeniero en telecomunicaciones y electrónica, tengo una maestría en protocolos de comunicación y creo tener las habilidades y el conocimiento para poder llevar a cabo tu proyecto. Si pudiera escribirme para ultimar detalles del algoritmo de encriptación se lo agradecería. Saludos
€25 EUR 7 päivässä
5,0 (2 arvostelua)
1,7
1,7
Käyttäjän avatar
Creo que soy un buen candidato para ayudarte por que me manejo con Python a diario ya que lo estoy estudiando y lo manejo bastante bien. Además hablamos los dos español que nos va a facilitar mucho la comunicación.
€8 EUR 7 päivässä
0,0 (0 arvostelua)
0,0
0,0

Tietoja asiakkaasta

Maan SPAIN lippu
Madrid, Spain
0,0
0
Liittynyt marrask. 30, 2023

Asiakkaan vahvistus

Kiitos! Olemme lähettäneet sinulle sähköpostitse linkin, jolla voit lunastaa ilmaisen krediittisi.
Jotain meni pieleen lähetettäessä sähköpostiasi. Yritä uudelleen.
Rekisteröitynyttä käyttäjää Ilmoitettua työtä yhteensä
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Ladataan esikatselua
Lupa myönnetty Geolocation.
Kirjautumisistuntosi on vanhentunut ja sinut on kirjattu ulos. Kirjaudu uudelleen sisään.