sábado, 8 de abril de 2023

Compresión de texto y html

en referencia a otros posts de blog:

https://raulmorenomusica.blogspot.com/2023/04/codificador-texto-qr.html

https://raulmorenomusica.blogspot.com/2023/04/compresion-texto.html

La compresión de html u otros lenguajes sería mas fácil aun que con un idioma.
Sería convertir a nemotécnico números que referencias instrucciones y parámetros.

Html puede representar todo tipo de documentos.

No son muchas instrucciones y otros diccionarios podrían referenciar javascript.

El problema son los parámetros

aunque no tanto.

la compresión seria así:

pongamos este trozo de html

<img src="images/happypeople.jpg">

si en el diccionario <img> fuera el número 10 (para un diccionario de 255 palabras tienen que ser números del 1 al 255 )

podríamos elegir un numero para cerrar el introducir atributos a la etiqueta

en vez de abrirla y cerrarla simplemente se cerraría con otra instrucción o etiqueta.

se podrían introducir todas las etiquetas

o un numero delimitado por un marcador

de ser menores que el máximo

irían de la etiqueta mas usada a la menos

en img la mas usada sería src=""  o dir en la tabla adjunta.

y no habría que especificar nada solo introducirlo

si fuera otro habría dos formas indicarlos cada vez que se introducen

o simplemente introducirlos y cerrar la introducción de parámetros

en la etiqueta <body> se aceptan 7 parámetros

si los introduces todos no hace falta indicarlos solo que los pase por orden

es mejor saltar un parámetro con un valor especial del diccionario

que tener 9 entradas en el diccionario para los diferentes parámetros

otra opción es con un byte especificar que parámetros introduces

pues los bits pueden indicar si los introduces o no.

<img src="images/happypeople.jpg">

se codificaría en un array de char:

{10, i, m, a, g, e, s, /, h, a, p, p, y, p, e, o, p, l, e, ., j, p, g, }

si se usa el método compresión que explique en el diccionario para texto

al introducir un string "images/happypeople.jpg" que no conoce internamente se podría acordar de el

si lo ve de nuevo lo escribirá copiando la posición 2 en este caso de array

por ejemplo vuelve a aparecer un comando interno [copiar string] valor 99 por ejemplo se añadirá a la 

cadena de bytes

[copiar string],2

entonces ira a la posición 2 del array y leerá el string (todo lo que no sean instrucciones el diccionario)

es decir 

{99,2} estos dos bytes equivaldrian a 

images/happypeople.jpg

y según el contexto podría añadir 

las comillas

finalmente se puede añadir una compresión genérica si se repiten estructuras en los archivos.

de todas formas para comprimir con efectividad has de saber lo que comprimes.



No hay comentarios:

Publicar un comentario