have you been using text mode? [EMAIL PROTECTED] wrote: > This is a bit of a peculiar problem. First off, this relates to Python > Challenge #12, so if you are attempting those and have yet to finish > #12, as there are potential spoilers here. > > I have five different image files shuffled up in one big binary file. > In order to view them I have to "unshuffle" the data, which means > moving bytes around. Currently my approach is to read the data from the > original, unshuffle as necessary, and then write to 5 different files > (2 .jpgs, 2 .pngs and 1 .gif). > > The problem is with the read() method. If I read a byte valued as 0x00 > (in hexadecimal), the read method returns a character with the value > 0x20. When printed as strings, these two values look the same (null and > space, respectively), but obviously this screws with the data and makes > the resulting image file unreadable. I can add a simple if statement to > correct this, which seems to make the .jpgs readable, but the .pngs > still have errors and the .gif is corrupted, which makes me wonder if > the read method is not doing this to other bytes as well. > > Now, the *really* peculiar thing is that I made a simple little file > and used my hex editor to manually change the first byte to 0x00. When > I read that byte with the read() method, it returned the correct value, > which boggles me. > > Anyone have any idea what could be going on? Alternatively, is there a > better way to shift about bytes in a non-text file without using the > read() method (since returning the byte as a string seems to be what's > causing the issue)? Thanks in advance!
-- http://mail.python.org/mailman/listinfo/python-list