Обсуждение: bytea to int conversion?

Поиск
Список
Период
Сортировка

bytea to int conversion?

От
Francisco Reyes
Дата:
Is there a way to convert bytea to int?
I just got the libcrypto library installed in order to get CRC32 support.
After getting some help I got it working, but now I am trying to figure
out how to compare the value returned by the function, bytea, with PHP's
CRC32 (a number).

I did not see any function to do such conversion.
I also wonder what are some letters that appear to the left or right of
the backlashed numbers.

From reading the documentation it seems bytea are numbers on base 8.
For example I tried  select digest('a','crc32');
    digest
---------------
 k\233\223\031
(1 row)

I converted the 233, 223 and 031 to hex
9b 93 19

and then to decimal
10195737

But this differs from the result from PHP's CRC32 computation for the
same, 'ab', string -1635563411





Re: bytea to int conversion?

От
Joe Conway
Дата:
Francisco Reyes wrote:
> Is there a way to convert bytea to int?
> I just got the libcrypto library installed in order to get CRC32 support.
> After getting some help I got it working, but now I am trying to figure
> out how to compare the value returned by the function, bytea, with PHP's
> CRC32 (a number).
>
> I did not see any function to do such conversion.
> I also wonder what are some letters that appear to the left or right of
> the backlashed numbers.
>
>From reading the documentation it seems bytea are numbers on base 8.
> For example I tried  select digest('a','crc32');
>     digest
> ---------------
>  k\233\223\031
> (1 row)
>
> I converted the 233, 223 and 031 to hex
> 9b 93 19
>
> and then to decimal
> 10195737
>
> But this differs from the result from PHP's CRC32 computation for the
> same, 'ab', string -1635563411
>

See stripcslashes() and pack() in the PHP documentation.

HTH,

Joe