Find Jobs
Hire Freelancers

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

€8-30 EUR

Fechado
Publicado há 6 meses

€8-30 EUR

Pago na entrega
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.
ID do Projeto: 37494320

Sobre o projeto

5 propostas
Projeto remoto
Ativo há 4 meses

Quer ganhar algum dinheiro?

Benefícios de ofertar no Freelancer

Defina seu orçamento e seu prazo
Seja pago pelo seu trabalho
Descreva sua proposta
É grátis para se inscrever e fazer ofertas em trabalhos
5 freelancers estão ofertando em média €42 EUR for esse trabalho
Avatar do Usuário
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 em 7 dias
5,0 (3 avaliações)
2,2
2,2
Avatar do Usuário
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 em 7 dias
5,0 (2 avaliações)
1,7
1,7
Avatar do Usuário
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 em 7 dias
0,0 (0 avaliações)
0,0
0,0

Sobre o cliente

Bandeira do(a) SPAIN
Madrid, Spain
0,0
0
Membro desde nov. 30, 2023

Verificação do Cliente

Obrigado! Te enviamos um link por e-mail para que você possa reivindicar seu crédito gratuito.
Algo deu errado ao enviar seu e-mail. Por favor, tente novamente.
Usuários Registrados Total de Trabalhos Publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Carregando pré-visualização
Permissão concedida para Geolocalização.
Sua sessão expirou e você foi desconectado. Por favor, faça login novamente.