| Computers Forum Index » Computer - Databases - Oracle » Decoding a date & time format... |
|
Page 1 of 1 |
|
| Author |
Message |
| Rob Nicholson... |
Posted: Tue Oct 28, 2008 5:00 pm |
|
|
|
Guest
|
Not sure if this is a good place to post, but we're trying to reverse
engineer an Oracle database which has two fields for date & time. They don't
seem to be encoded using the standard Oracle date/time fields so we suspect
the developer has used some bespoke encoding system.
So I thought it would be a good challenge for somebody mathematically
minded.
The example I currently have is:
17th October 2008 encoded as 131598865
13:54:49 encoded as 221655296
I'll try and get some more examples.
Any help appreciated.
Thanks, Rob. |
|
|
| Back to top |
|
|
|
| Phil Carmody... |
Posted: Tue Oct 28, 2008 6:51 pm |
|
|
|
Guest
|
"Rob Nicholson" <rob.nicholson at (no spam) nospan.com> writes:
Quote: Not sure if this is a good place to post, but we're trying to reverse
engineer an Oracle database which has two fields for date & time. They don't
seem to be encoded using the standard Oracle date/time fields so we suspect
the developer has used some bespoke encoding system.
So I thought it would be a good challenge for somebody mathematically
minded.
The example I currently have is:
17th October 2008 encoded as 131598865
Hexadecimal: 0x07D80A11
And:
07D8 = 2008
0A = 10
11 = 17
Quote: 13:54:49 encoded as 221655296
Hexadecimal: 0x0D363100
And:
0D = 13
36 = 54
31 = 49
Phil
--
Christianity has such a contemptible opinion of human nature that it does
not believe a man can tell the truth unless frightened by a belief in God.
No lower opinion of the human race has ever been expressed.
-- Robert Green Ingersoll (1833-1899), American politician and scientist |
|
|
| Back to top |
|
|
|
| Jon Slaughter... |
Posted: Tue Oct 28, 2008 7:15 pm |
|
|
|
Guest
|
"Phil Carmody" <thefatphil_demunged at (no spam) yahoo.co.uk> wrote in message
news:87abcoesl0.fsf at (no spam) nonospaz.fatphil.org...
Quote: "Rob Nicholson" <rob.nicholson at (no spam) nospan.com> writes:
Not sure if this is a good place to post, but we're trying to reverse
engineer an Oracle database which has two fields for date & time. They
don't
seem to be encoded using the standard Oracle date/time fields so we
suspect
the developer has used some bespoke encoding system.
So I thought it would be a good challenge for somebody mathematically
minded.
The example I currently have is:
17th October 2008 encoded as 131598865
Hexadecimal: 0x07D80A11
And:
07D8 = 2008
0A = 10
11 = 17
13:54:49 encoded as 221655296
Hexadecimal: 0x0D363100
And:
0D = 13
36 = 54
31 = 49
Phil
Which means it's simply byte byte word format.
i.e., day + month << 8 + year << 16
decoding is in reverse:
day = date & 0xFF;
month = date >> 8 & 0xFF
year = date >> 16 |
|
|
| Back to top |
|
|
|
| Phil Carmody... |
Posted: Tue Oct 28, 2008 8:20 pm |
|
|
|
Guest
|
"Jon Slaughter" <Jon_Slaughter at (no spam) Hotmail.com> writes:
Quote: "Phil Carmody" <thefatphil_demunged at (no spam) yahoo.co.uk> wrote in message
news:87abcoesl0.fsf at (no spam) nonospaz.fatphil.org...
"Rob Nicholson" <rob.nicholson at (no spam) nospan.com> writes:
Not sure if this is a good place to post, but we're trying to reverse
engineer an Oracle database which has two fields for date & time. They
don't
seem to be encoded using the standard Oracle date/time fields so we
suspect
the developer has used some bespoke encoding system.
So I thought it would be a good challenge for somebody mathematically
minded.
The example I currently have is:
17th October 2008 encoded as 131598865
Hexadecimal: 0x07D80A11
And:
07D8 = 2008
0A = 10
11 = 17
13:54:49 encoded as 221655296
Hexadecimal: 0x0D363100
And:
0D = 13
36 = 54
31 = 49
Which means it's simply byte byte word format.
i.e., day + month << 8 + year << 16
Not in C, it's not. + has higher precedence than <<.
Phil
--
Christianity has such a contemptible opinion of human nature that it does
not believe a man can tell the truth unless frightened by a belief in God.
No lower opinion of the human race has ever been expressed.
-- Robert Green Ingersoll (1833-1899), American politician and scientist |
|
|
| Back to top |
|
|
|
| Rob Nicholson... |
Posted: Tue Oct 28, 2008 9:35 pm |
|
|
|
Guest
|
Quote: 17th October 2008 encoded as 131598865
Hexadecimal: 0x07D80A11
And:
07D8 = 2008
0A = 10
11 = 17
Ah! Thanks - can I buy you a virtual pint via PayPal?
Cheers, Rob. |
|
|
| Back to top |
|
|
|
| Rob Nicholson... |
Posted: Tue Oct 28, 2008 9:45 pm |
|
|
|
Guest
|
Quote: Ah! Thanks - can I buy you a virtual pint via PayPal?
Email informed.direct at (no spam) googlemail.com - I'm serious!
Cheers, Rob. |
|
|
| Back to top |
|
|
|
|