I found another tut:
Pack/Unpack Tutorial (aka How the System Stores Data).
I'm not sure if I understood your format correctly, but it appears as though, version = first 2 bytes, extension = bytes 7-10.
So, to get those values (untested):
$ver = unpack("n", substr($buf,0,2)); #or s signed 16 bit
$extension = unpack("l", substr($buf,6,4)); # signed 32 bit int
Does that work with your test data?
The string $buf is special in that it is binary (full range of 0-255) for each "character" instead of just character values. substr works on it although I think there is another way of specifying the index to start at.
I've never tried to convert an IEEE network order float. There may be some issues here, but since you have an independent way of verifying the correctness of the conversion, I would just try converting a few and see if there is a problem or not.
I guess the question is whether our not you can "get to first base" now?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.