no se python pero esto es un problema común en los lenguajes
lo que pasa es que probablemente está en binario, pero lo estás representando como ascii, es decir, lo mismo que abrir un .exe o una imagen en notepad
es decir, no puedes esperar guardar bits en un archivo y abrirlo como texto, porque los editores de texto, leerán los bits a conveniencia de manera que coincidan con los bits representados por ascii... tendrás que buscar una forma de lee el archivo byte a byte y convertirlo en texto... ya sean ceros y unos, octal, hexadecimal, decimal... etc... pero debe ser convertido... no leído y pegado