From: Arthur Tabachneck on
What I posted was indeed a hex viewer filedump as I didn't think the list
would appreciate my posting the actual 8gig of characters. These were
simply the first 272 characters.
On Wed, 27 Jan 2010 13:12:48 -0500, Proc Me <procme(a)CONCEPT-DELIVERY.COM>
wrote:

>Art,
>
>I've not got very far, but the following may help:
>
>data have;
>input tid $ (t1-t16) ($) ;
>datalines;
>00000000 00 05 54 00 00 54 71 00 06 53 23 76 FA C0 4F 00
>00000010 05 54 00 00 58 BD 00 12 52 22 18 07 00 41 20 20
>00000020 20 20 20 54 20 00 00 00 64 4E 00 12 52 22 18 07
>00000030 00 41 20 20 20 20 20 54 20 00 00 00 64 4E 00 12
>00000040 52 22 27 49 40 41 41 20 20 20 20 54 20 00 00 00
>00000050 64 4E 00 11 48 22 36 8B 80 41 20 20 20 20 20 54
>00000060 20 20 20 20 20 00 12 52 22 36 8B 80 41 41 2D 20
>00000070 20 20 54 20 00 00 00 64 4E 00 11 48 22 36 8B 80
>00000080 41 20 20 20 20 20 54 20 20 20 20 20 00 12 52 22
>00000090 45 CD C0 41 41 43 20 20 20 54 20 00 00 00 64 4E
>000000A0 00 11 48 22 45 CD C0 41 41 20 20 20 20 54 20 20
>000000B0 20 20 20 00 12 52 22 45 CD C0 41 41 43 43 20 20
>000000C0 47 20 00 00 00 64 4E 00 11 48 22 45 CD C0 41 41
>000000D0 2D 20 20 20 54 20 20 20 20 20 00 12 52 22 45 CD
>000000E0 C0 41 41 49 20 20 20 54 20 00 00 00 64 4E 00 11
>000000F0 48 22 45 CD C0 41 41 43 20 20 20 54 20 20 20 20
>00000100 20 00 12 52 22 45 CD C0 41 41 4D 45 20 20 47 20
>;
>run;
>
>This looks like a file dump, with 16 bytes per line, and a line counter. I
>think this structure has been superimposed on the data, rather than being
>intrinsic: it looks like output from a hex viewer.
>
>To break out of this strucuture, I would write it to a dataset per byte,
>and then look for patterns that would allow it to be put back together
>more meaningfully.
>
>data want(keep=line i h n b);
> set have;
> format line comma9.;
> array t(16) t1--t16;
> line = input(substr(tid, 1, 7), hex7.);
> do i = 1 to 16;
> h = t(i);
> n = input(t(i), hex2.);
> b = byte(n);
> output;
> end;
>run;
>
>I'm not sure how to put this back together, but I would hazard a guess
>that sequences of bytes go together, either delimited by the 0 characters,
>or based on position. I would hazard that some of the data is numeric, and
>some is character: obs 4, for example, has a sequence of 20's, the hex for
>an Ascii space (you might notice %20 in URL's where spaces are encoded).
>
>There appears to be some structure to the data: witness the repeating
>sequence 64 4E, if a number this would equate to 16462, which is in the
>range of a SAS date. The sequence 41 20 20 20 20 54 20 also appears to
>recur. This could be the text: "A T "? 12 52 22 18 07 also recurs, as
>do sequences of a similar structure, possibly an ID? The twenty bytes
>starting in position 7 of row 1 are repeat themselves. The twenty byte
>pattern appears to break down, though.
>
>A visual way of looking for structure in this data might be to export this
>dataset into Excel and colour code "runs" of structure, and then zoom out
>to look for patterns.
>
>Can we know a little more about the provenance of this blob of data, could
>the poster get the original source data in another format - I'm curious as
>to why they are having to reverse engineer this data.
>
>I doubt I've got much further than you had, but I hope this helps,
>
>Proc Me
From: Proc Me on
Art,

I've not got very far, but the following may help:

data have;
input tid $ (t1-t16) ($) ;
datalines;
00000000 00 05 54 00 00 54 71 00 06 53 23 76 FA C0 4F 00
00000010 05 54 00 00 58 BD 00 12 52 22 18 07 00 41 20 20
00000020 20 20 20 54 20 00 00 00 64 4E 00 12 52 22 18 07
00000030 00 41 20 20 20 20 20 54 20 00 00 00 64 4E 00 12
00000040 52 22 27 49 40 41 41 20 20 20 20 54 20 00 00 00
00000050 64 4E 00 11 48 22 36 8B 80 41 20 20 20 20 20 54
00000060 20 20 20 20 20 00 12 52 22 36 8B 80 41 41 2D 20
00000070 20 20 54 20 00 00 00 64 4E 00 11 48 22 36 8B 80
00000080 41 20 20 20 20 20 54 20 20 20 20 20 00 12 52 22
00000090 45 CD C0 41 41 43 20 20 20 54 20 00 00 00 64 4E
000000A0 00 11 48 22 45 CD C0 41 41 20 20 20 20 54 20 20
000000B0 20 20 20 00 12 52 22 45 CD C0 41 41 43 43 20 20
000000C0 47 20 00 00 00 64 4E 00 11 48 22 45 CD C0 41 41
000000D0 2D 20 20 20 54 20 20 20 20 20 00 12 52 22 45 CD
000000E0 C0 41 41 49 20 20 20 54 20 00 00 00 64 4E 00 11
000000F0 48 22 45 CD C0 41 41 43 20 20 20 54 20 20 20 20
00000100 20 00 12 52 22 45 CD C0 41 41 4D 45 20 20 47 20
;
run;

This looks like a file dump, with 16 bytes per line, and a line counter. I
think this structure has been superimposed on the data, rather than being
intrinsic: it looks like output from a hex viewer.

To break out of this strucuture, I would write it to a dataset per byte,
and then look for patterns that would allow it to be put back together
more meaningfully.

data want(keep=line i h n b);
set have;
format line comma9.;
array t(16) t1--t16;
line = input(substr(tid, 1, 7), hex7.);
do i = 1 to 16;
h = t(i);
n = input(t(i), hex2.);
b = byte(n);
output;
end;
run;

I'm not sure how to put this back together, but I would hazard a guess
that sequences of bytes go together, either delimited by the 0 characters,
or based on position. I would hazard that some of the data is numeric, and
some is character: obs 4, for example, has a sequence of 20's, the hex for
an Ascii space (you might notice %20 in URL's where spaces are encoded).

There appears to be some structure to the data: witness the repeating
sequence 64 4E, if a number this would equate to 16462, which is in the
range of a SAS date. The sequence 41 20 20 20 20 54 20 also appears to
recur. This could be the text: "A T "? 12 52 22 18 07 also recurs, as
do sequences of a similar structure, possibly an ID? The twenty bytes
starting in position 7 of row 1 are repeat themselves. The twenty byte
pattern appears to break down, though.

A visual way of looking for structure in this data might be to export this
dataset into Excel and colour code "runs" of structure, and then zoom out
to look for patterns.

Can we know a little more about the provenance of this blob of data, could
the poster get the original source data in another format - I'm curious as
to why they are having to reverse engineer this data.

I doubt I've got much further than you had, but I hope this helps,

Proc Me
From: NordlDJ on
> -----Original Message-----
> From: SAS(r) Discussion [mailto:SAS-L(a)LISTSERV.UGA.EDU] On Behalf Of
> Arthur Tabachneck
> Sent: Wednesday, January 27, 2010 10:26 AM
> To: SAS-L(a)LISTSERV.UGA.EDU
> Subject: Re: How to read a large odd looking file
>
> What I posted was indeed a hex viewer filedump as I didn't think the list
> would appreciate my posting the actual 8gig of characters. These were
> simply the first 272 characters.
> On Wed, 27 Jan 2010 13:12:48 -0500, Proc Me <procme(a)CONCEPT-
> DELIVERY.COM>
> wrote:
>
Art,

Is this the "binary" data file that we were discussing a few days ago on the list? If not, do you have any additional information about the supposed structure of the dataset?

Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA 98504-5204
From: Arthur Tabachneck on
Dan,

Yes it is that same file.

Art
---------
On Wed, 27 Jan 2010 10:32:43 -0800, Nordlund, Dan (DSHS/RDA)
<NordlDJ(a)DSHS.WA.GOV> wrote:

>> -----Original Message-----
>> From: SAS(r) Discussion [mailto:SAS-L(a)LISTSERV.UGA.EDU] On Behalf Of
>> Arthur Tabachneck
>> Sent: Wednesday, January 27, 2010 10:26 AM
>> To: SAS-L(a)LISTSERV.UGA.EDU
>> Subject: Re: How to read a large odd looking file
>>
>> What I posted was indeed a hex viewer filedump as I didn't think the
list
>> would appreciate my posting the actual 8gig of characters. These were
>> simply the first 272 characters.
>> On Wed, 27 Jan 2010 13:12:48 -0500, Proc Me <procme(a)CONCEPT-
>> DELIVERY.COM>
>> wrote:
>>
>Art,
>
>Is this the "binary" data file that we were discussing a few days ago on
the list? If not, do you have any additional information about the
supposed structure of the dataset?
>
>Dan
>
>Daniel J. Nordlund
>Washington State Department of Social and Health Services
>Planning, Performance, and Accountability
>Research and Data Analysis Division
>Olympia, WA 98504-5204
From: Savian on
On Jan 27, 8:37 am, art...(a)NETSCAPE.NET (Arthur Tabachneck) wrote:
> One of our posters sent me their data file (all 8 gig of it) and, frankly,
> I'm totally lost trying to figure out how to read it.  The following is a
> dump of the first 272 characters in the hope that it might trigger
> someone's stroke of brilliance:
>
> 00000000    00 05 54 00 00 54 71 00 06 53 23 76 FA C0 4F 00
> 00000010    05 54 00 00 58 BD 00 12 52 22 18 07 00 41 20 20
> 00000020    20 20 20 54 20 00 00 00 64 4E 00 12 52 22 18 07
> 00000030    00 41 20 20 20 20 20 54 20 00 00 00 64 4E 00 12
> 00000040    52 22 27 49 40 41 41 20 20 20 20 54 20 00 00 00
> 00000050    64 4E 00 11 48 22 36 8B 80 41 20 20 20 20 20 54
> 00000060    20 20 20 20 20 00 12 52 22 36 8B 80 41 41 2D 20
> 00000070    20 20 54 20 00 00 00 64 4E 00 11 48 22 36 8B 80
> 00000080    41 20 20 20 20 20 54 20 20 20 20 20 00 12 52 22
> 00000090    45 CD C0 41 41 43 20 20 20 54 20 00 00 00 64 4E
> 000000A0    00 11 48 22 45 CD C0 41 41 20 20 20 20 54 20 20
> 000000B0    20 20 20 00 12 52 22 45 CD C0 41 41 43 43 20 20
> 000000C0    47 20 00 00 00 64 4E 00 11 48 22 45 CD C0 41 41
> 000000D0    2D 20 20 20 54 20 20 20 20 20 00 12 52 22 45 CD
> 000000E0    C0 41 41 49 20 20 20 54 20 00 00 00 64 4E 00 11
> 000000F0    48 22 45 CD C0 41 41 43 20 20 20 54 20 20 20 20
> 00000100    20 00 12 52 22 45 CD C0 41 41 4D 45 20 20 47 20
>
> Art

Art,

I pasted your stuff into ultraedit, column ripped the line numbers,
then pasted into a hex editor as hext text to see what you have. My
guess is tha the first 272 bytes are merely part of a file's metadata
and do not have any record values in them. If they do have records,
they are all numeric (most likely a series of short ints). I see no
meaningful text.

Without a guidepost for what the data could be, it is almost
impossible to figure it out. You need data deeper in (try and get past
metadata info. Metadata info should be contained in megabyte marker
locations. Hence, 1024, 2048, etc.) or you would need a reference for
where the file was generated so as to hazard a guess at the meaning of
this data.

HTH,

Alan
http://www.savian.net