|
|
|
| Выбираю из базы двоичные данные :
$row = mssql_fetch_assoc($result)
$bin=$row['Data'];
|
переводим из двоичной системы в щестнадцатиричную:
$per=bin2hex ($row['Data']);
|
получаем строку :
440047000028000000000000896B4685
|
далее необходимо к этой строке добавить точно такую-же строку , делаем это так :
$temp=$per.'440047000028000000000000896B4685';
|
дальше переводим обратно в двоичную систему что-бы занести данные в базу :
$tmp=decbin(hexdec($temp));
|
проверяем данные :
и получаем данные совсем несоответствующие тем , которые должны поидеи быть .
Почему? Где ошибка? | |
|
|
|
|
|
|
|
для: dima2207
(27.08.2008 в 01:18)
| | >Выбираю из базы двоичные данные :
>$row = mssql_fetch_assoc($result)
>$bin=$row['Data'];
>переводим из двоичной системы в щестнадцатиричную:
>$per=bin2hex ($row['Data']);
>получаем строку :
>440047000028000000000000896B4685
>далее необходимо к этой строке добавить точно такую-же строку , делаем это так :
>$temp=$per.'440047000028000000000000896B4685';
>дальше переводим обратно в двоичную систему что-бы занести данные в базу :
для этого следовало выполнить вызов $tmp = hex2bin($tmp);
обратный предыдущему.
>проверяем данные :
>echo bin2hex($tmp);
и будет всё ОК.
Ошибка в том, что Вы путаете функции, работающие со строками и с числами . | |
|
|
|
|
|
|
|
для: Trianon
(27.08.2008 в 10:12)
| | опишите пожалуйста функцию , потомучто на вызов встроеной функции hex2bin($tmp);
я получаю :
Fatal error: Call to undefined function hex2bin() in | |
|
|
|
|
|
|
|
для: dima2207
(27.08.2008 в 12:39)
| | тогда её стоит определить.
function hex2bin($data) { return pack('H*', $data); }
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.08.2008 в 12:45)
| | СПАСИБО ! Trianon ! | |
|
|
|