Python binary data reading -


एक urllib2 अनुरोध नीचे द्विआधारी प्रतिक्रिया प्राप्त करता है:

  00 00 00 01 00 04 41 4 डी 54 44 00 00 00 00 02 41 97 33 33 41 99 5 सी 29 41 9 3 डी 71 41 91 डी 7 0 ए 47 0 एफ सी 6 14 00 00 01 16 6 ए ई0 68 80 41 93 बी 4 05 41 97 1 ई बी 8 41 90 7 ए ई 1 41 96 8F 57 46 E6 2E 80 00 00 01 16 7 ए 53 7 सी 80 एफएफ एफएफ  

इसकी संरचना है:

  डेटा, प्रकार, विवरण 00 00 00 01 , 4 बाइट, प्रतीक गणना = 1 00 04, 2 बाइट्स, प्रतीक लंबाई = 4 41 4 डी 54 44, 6 बाइट्स, प्रतीक = AMTD 00, 1 बाइट, त्रुटि कोड = 0 (ओके) 00 00 00 02, 4 बाइट्स, बार गणना = 2 प्रथम बार 41 97 33 33, 4 बाइट्स, बंद = 18.90 41 99 5 सी 29, 4 बाइट्स, उच्च = 1 9 .17 41 9 3 डी 71, 4 बाइट्स, लो = 18.03 41 91 डी 7 0 ए, 4 बाइट्स, ओपन = 18.23 47 0 एफ सी 6 14, 4 बाइट्स, वॉल्यूम = 3,680,608 00 00 01 16 6 ए ई0 68 80, 8 बाइट्स, टाइमस्टैम्प = नवंबर 23,2007 दूसरा बार 41 9 3 बी 4 05, 4 बाइट्स, क्लोज़ = 18.4629 41 9 7 1 ई बी 8, 4 बाइट्स, हाई = 18.8 9 41 90 7 ए ई 1, 4 बाइट्स, लो = 18.06 41 96 8 एफ 57, 4 बाइट्स, ओपन = 18.82 46 ई 2 2 ई 80, 4 बाइट्स, वॉल्यूम = 2,946,325 00 00 01 16 7 ए 53 7 सी 80, 8 बाइट्स, टाइमस्टैम्प = नवंबर 26,2007 टर्मिनिटर एफएफ एफएफ, 2 बाइट्स,  
<

अपडेट:

मैंने पहले 6 बाइट्स पर निम्न कोड वाले स्ट्रक्चर मॉड्यूल की कोशिश की:

/ P>
  struct.unpack ('ih', response.read (6))  

(16777216, 1024)

लेकिन यह चाहिए आउटपुट (1, 4) मैं मैनुअल पर एक नज़र डालता हूं लेकिन मुझे पता नहीं था कि गलत क्या था।

  & gt; & gt ; & gt; डेटा '\ x00 \ x00 \ x00 \ x01 \ x00 \ x04AMTD \ x00 \ x00 \ x00 \ x00 \ x02A \ x9733A \ x99 \\) ए \ x90 = qA \ x91 \ xd7 \ nG \ x0f \ xc6 \ x14 \ x00 \ x00 \ X01 \ x16j \ xe0h \ x80A \ x93 \ xb4 \ x05A \ x97 \ x1e \ xb8A \ x90z \ xe1A \ x96 \ x8fWF \ XE6 \ x80 \ x00 \ x00 \ X01 \ x16zS |। \ x80 \ xff \ xff '& Gt; & gt; & gt; संरचना आयात के बिना, कैलकसीस और gt; & gt; & gt; Scount, slength = unpack ("IH", डेटा [: 6])> gt; & gt; & gt; स्काउंट जोर दें == 1> & gt; & gt; & gt; प्रतीक, error_code = unpack ("!% Dsb"% slength, डेटा [6: 6 + स्लैथ + 1]) & gt; & gt; & gt; त्रुटिग्राही को निर्दिष्ट करें == 0> gt; & gt; & gt; प्रतीक 'AMTD' & gt; & gt; & gt; Bar_count = unpack ("I!", डेटा [6 + स्लेगैण्ड + 1: 6 + स्लैथ + 1 + 4]) & gt; & gt; & gt; बारकाउंट (2,) & gt; & gt; & gt; Bar_format = "! 5fQ"> gt; & gt; & gt; संग्रह आयात से नामित टप्ले & gt; & gt; & gt; बार = नामित ट्यूपल ("बार", "उच्च ऊंची खुली मात्रा का टाइमस्टैम्प बंद करें") & gt; & gt; & gt; B = बार (* अनपैक (बार-फार्मेट, डेटा [6 + स्लैथ + 1 + 4: 6 + स्लैथ + 1 + 4 + कैलसीस (बार-फार्मेट)])))> gt; & gt; & gt; बी बार (क्लोज़ = 18.899999618530273, हाई = 1 9 .170000076293945, लो = 18.030000686645508, ओपन = 18.229999542236328, वॉल्यूम = 36806.078125, टाइमस्टैम्प = 1195794000000L)> gt; & gt; & gt; आयात समय & gt; & gt; & gt; Time.ctime (b.Timestamp // 1000) 'शुक्र नाउ 23 08:00:00 2007' & gt; & gt; & gt; इंट (बी। वॉल्यूम * 100 + 0.5) 3680608  

Comments

Popular posts from this blog

MySql variables and php -

url rewriting - How to implement the returnurl like SO in PHP? -

Which Python client library should I use for CouchdB? -