Re: Junk binary date?

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Junk binary date?
Дата
Msg-id 20060621051941.GA72186@winnie.fuhr.org
обсуждение исходный текст
Ответ на Junk binary date?  (Kevin Jenkins <gameprogrammer@rakkar.org>)
Список pgsql-general
On Tue, Jun 20, 2006 at 09:12:50PM -0700, Kevin Jenkins wrote:
> I call PQexecParams with the last parameter as 1 to return binary
> data.  I then get this data with:
>
> fileLengthPtr = PQgetvalue(result, rowIndex, fileLengthColumnIndex);
> memcpy(&fileLength, fileLengthPtr, sizeof(fileLength));
>
> The value being returned is of type integer.
>
> It should have the value 7237 in binary.
> It actually has the value:
> fileLengthPtr[0]    0    char
> fileLengthPtr[1]    0    char
> fileLengthPtr[2]    28 '?'    char
> fileLengthPtr[3]    69 'E'    char
>
> Which is not 7237, it's:
> fileLength    1159462912    int
>
> Why?

7237 decimal = 1c45 hex
28 decimal = 1c hex
69 decimal = 45 hex

The data looks correct once you recognize that it's in network byte
order (big endian).  You'll need to convert it to host byte order.

--
Michael Fuhr

В списке pgsql-general по дате отправления:

Предыдущее
От: Kevin Jenkins
Дата:
Сообщение: Junk binary date?
Следующее
От: "Parang Saraf"
Дата:
Сообщение: problem enabling postgres in php