title: Python binary data reading
body: <p>A urllib2 request receives binary response as below:</p>
  <pre><code>00 00 00 01 00 04 41 4D 54 44 00 00 00 00 02 41
  97 33 33 41 99 5C 29 41 90 3D 71 41 91 D7 0A 47
  0F C6 14 00 00 01 16 6A E0 68 80 41 93 B4 05 41
  97 1E B8 41 90 7A E1 41 96 8F 57 46 E6 2E 80 00
  00 01 16 7A 53 7C 80 FF FF
  </code></pre>
  <p>Its structure is:</p>
  <pre><code>DATA, TYPE, DESCRIPTION
   
  00 00 00 01, 4 bytes, Symbol Count =1
   
  00 04, 2 bytes, Symbol Length = 4
   
  41 4D 54 44, 6 bytes, Symbol = AMTD
   
  00, 1 byte, Error code = 0 (OK)
   
  00 00 00 02, 4 bytes, Bar Count =  2
   
  FIRST BAR
   
  41 97 33 33, 4 bytes, Close = 18.90
   
  41 99 5C 29, 4 bytes, High = 19.17
   
  41 90 3D 71, 4 bytes, Low = 18.03
   
  41 91 D7 0A, 4 bytes, Open = 18.23
   
  47 0F C6 14, 4 bytes, Volume = 3,680,608
   
  00 00 01 16 6A E0 68 80, 8 bytes, Timestamp = November 23,2007
   
  SECOND BAR
   
  41 93 B4 05, 4 bytes, Close = 18.4629
   
  41 97 1E B8, 4 bytes, High = 18.89
   
  41 90 7A E1, 4 bytes, Low = 18.06
   
  41 96 8F 57, 4 bytes, Open = 18.82
   
  46 E6 2E 80, 4 bytes, Volume = 2,946,325
   
  00 00 01 16 7A 53 7C 80, 8 bytes, Timestamp = November 26,2007
   
  TERMINATOR
   
  FF FF, 2 bytes,
  </code></pre>
  <p>How to read binary data like this?</p>
  <p>Thanks in advance.</p>
  <h3>Update:</h3>
  <p>I tried struct module on first 6 bytes with following code:</p>
  <pre><code>struct.unpack('ih', response.read(6))
  </code></pre>
  <p>(16777216, 1024)</p>
  <p>But it should output (1, 4). I take a look at the manual but have no clue what was wrong.</p>