Fixed failure when filename contained garbage after \0
Added --list option
Fixed incorrect data_size calculation
Use os.fsdecode()/os.fsencode() instead of manually converting to UTF-8