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