En Tue, 05 Feb 2008 11:50:25 -0200, Mastastealth <[EMAIL PROTECTED]> escribi�:
> On Feb 5, 1:17 am, Gabriel Genellina <[EMAIL PROTECTED]> wrote: >> Using the struct module http://docs.python.org/lib/module-struct.html >> >> import struct >> data = info.read(15) >> str1, str2, blank, height, width, num2, num3 = >> struct.unpack("6s3s1cBBBh", data) >> >> Consider this like a "first attempt", open issues: is the data little- >> endian or big-endian? does the 0-5 mean 0x00-0x05 or "0"-"5"? the last >> numbers are 2-byte binary integers, or 0000-0899 might indicate BDC? >> But building the right format is surely faster and easier than parsing >> the data by hand. > > Ah ok, thanks! That worked, though the line "str1, str2, blank, > height, width, num2, num3 =" spit out a syntax error. However, I do > see that it creates a tuple with all the values in a readable format > for me. Also, I needed to change info.read(15) to 16. More questions: > > What is this value for? "6s3s1cBBBh" and why is my unpack limited to a > length of "16"? That's the format describing how to decode your bytes: first, a string of six characters; then a string of 3 characters followed by a single character, three individual bytes, and a short integer. > Unfortunately it seems my understanding of binary is way too basic for > what I'm dealing with. Can you point me to a simple guide to > explaining most of it? As far as I know this is just a bunch of 1's > and 0's right? Each byte has 8 digits of, of which somehow is > converted to a number or letter. Don't know what most of that stuff in > the struct page means. -_- I'm afraid I don't know any simple guide to struct. Perhaps people think that if you manage binary data with struct, you must already be a Python guru or something... You could try "construct" instead: "Construct is a python library for parsing and building of data structures (binary or textual). It is based on the concept of defining data structures in a declarative manner, rather than procedural code. [...] It's the first library that makes parsing fun, instead of the usual headache it is today." http://pyconstruct.wikispaces.com There are some recipes in the Python Cookbook too: http://aspn.activestate.com/ASPN/Cookbook/Python -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list