Gente no se olviden de probar que hace su programa cuando la entrada es un archivo vacío, un archivo vacío lo pueden crear con el comando "touch vacio,txt".
Tanto la codificación como la decodificación de un archivo vacío debe generar otro archivo vacío.
Este será uno de los casos de prueba.
Saludos
Andrés