За последние 24 часа нас посетил 199341 программист и 2122 робота. Сейчас ищут 1778 программистов ...

bin2hex

Тема в разделе "PHP для новичков", создана пользователем AlleeX, 19 мар 2010.

  1. AlleeX

    AlleeX Активный пользователь

    С нами с:
    17 июл 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    РБ
    Всем ПРИВЕТ!
    Подскажите пожалуйста такую вещь:
    функция bin2hex производит побайтовое преобразование символьных данных в шестнадцатеричный вид
    допустим "определяющий" переведет в cfd0d2c5c4c5ccd1c0ddc9ca
    а как потом перевести назад cfd0d2c5c4c5ccd1c0ddc9ca в строку?
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Скажите, а какие действия вы предприняли для того, что бы самостоятельно ответить на свой вопрос?
     
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ггг, ещё один "кулхацкер" нашелся
     
  4. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
  5. vuzy

    vuzy Активный пользователь

    С нами с:
    11 мар 2010
    Сообщения:
    199
    Симпатии:
    0
    Адрес:
    киев
    а еще есть unpack()
     
  6. AlleeX

    AlleeX Активный пользователь

    С нами с:
    17 июл 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    РБ
    Спасибо конечно что повысиси меня до такого свания обычного сайтового писарчука (хакингом не увлекаюсь (разве что только в целях самообороны созданных сайтов)).

    Но все дело куда проще, знакомый попросил перевести обну текстовку в 16-ый код.

    Я с помощью bin2hex() это сделал, а самому стало интересно как этой хрени опять придать божеский вид. Функция pack() (перепробовал все ее параметры) не помогла.
     
  7. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    Код (Text):
    1. >php -r "$b = '1234'; $h = bin2hex($b); echo 'hex:' . $h . '. '; $ah = str_split($h, 2); $ad = array_map('hexdec', $ah); $as = array_map('chr', $ad); $s = implode('', $as); echo 'string:' . $s;"
    2. hex:31323334. string:1234
    Код (Text):
    1. >php -r "$b = '12340'; $h = bin2hex($b); echo 'hex:' . $h . '. '; $ah = str_split($h, 2); $a = array_merge(array(str_repeat('H2', count($ah))), $ah); $s = call_user_func_array('pack', $a); echo 'string:' . $s;"
    2. hex:3132333430. string:12340
     
  8. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    iliavlad, вам следует взять AlleeX и проследовать в документацию по PHP на php.net. После прочтения документации - прочесть коментарии.
     
  9. AlleeX

    AlleeX Активный пользователь

    С нами с:
    17 июл 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    РБ
    Сайт то конечно хораший, стору нет. Я на нем иногда но коду смотрю какие нибудь решения. Но теорию на техническом английском изучать не осилю. А на счет какие действия были предприняты: разобрано до каждой буквы несколько нороших (толстых) книг по ПХП российских авторов и гугл. Этой теме маловано посвящается, да и мне понадобилось только ради спортивного интереса.
     
  10. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    там в коментариях есть реализация нужной вам функции.

    PHP:
    1. function hex2bin($str) {
    2.     $bin = "";
    3.     $i = 0;
    4.     do {
    5.         $bin .= chr(hexdec($str{$i}.$str{($i + 1)}));
    6.         $i += 2;
    7.     } while ($i < strlen($str));
    8.     return $bin;
    9. }
    достаточно было глазами по тексту пробежаться, инглиш даже необязательно знать.
    хотя для меня всегда было загадкой, как можно заниматься программированием, не зная инглиша.
    короче, советую штудировать мануалы, лексика там небольшая, научиться читать несложно.
    без умения работать с документацией начинающий программер обречен топтаться на месте в своем развитии.
     
  11. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    В общем $str = pack("H*", $hexstr)
     
  12. AlleeX

    AlleeX Активный пользователь

    С нами с:
    17 июл 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    РБ
    ВСЕМ ОГРОМНОЕ спасибо за просветление моего темного мозга. Да будет процветание этому форуму )