Soy muy nuevo en el mundo de la codificación de bytes, así que discúlpeme (y por supuesto, corrígeme) si estoy utilizando/expresando conceptos simples de la manera incorrecta.Clarificación de codificación de bytes variables
Estoy tratando de comprender la codificación de bytes variables. He leído el artículo de Wikipedia (http://en.wikipedia.org/wiki/Variable-width_encoding), así como un book chapter de un libro de texto de recuperación de información. Creo que entiendo cómo codificar un entero decimal. Por ejemplo, si quería dar bytes codificación variable para el número entero 60, tendría el siguiente resultado:
1 0 1 1 1 1 0 0
(por favor, hágamelo saber si lo anterior es incorrecta). Si entiendo el esquema, entonces no estoy completamente seguro de cómo se comprime la información. ¿Es porque normalmente usaríamos 32 bits para representar un número entero, de modo que representar 60 daría como resultado 1 1 1 1 0 0
precedido por 26 ceros, desperdiciando ese espacio en lugar de representarlo con solo 8 bits?
Gracias de antemano por las aclaraciones.
Pero cuando escriba diga 1 0 1 1 1 1 0 0 en un archivo de texto, le tomará 8 bytes (uno para cada uno), mientras que 60 solo tomará 2 bytes. Entonces, ¿cómo ahorra espacio? Sería genial si pudiera proporcionar el código en su respuesta – Programmer
@Programmer: no estoy seguro de entender su pregunta. La codificación de longitud variable solo tiene sentido cuando se habla de datos binarios, por lo que nunca se escribiría en un archivo de texto; escribirías el byte representado por esa serie de bits en forma binaria. –