Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывод строки h e x
Форумы портала PHP.SU » » Кодировки и все смежное » Вывод строки h e x

Страниц (1): [1]
 

1. levon99 - 06 Октября, 2011 - 03:22:33 - перейти к сообщению
Здравствуйте.

Подскажите пожалуйста как мне вывести в строке нужные байты.

Т.е. мне нужно передать в строке именно байты например 0a.

Как я только не пытался

pack(C,10); echo "\x0a", 0x0a;

Ничего не помогает. Нужно именно однобайтовый символ вывести 0a.
2. Мелкий - 06 Октября, 2011 - 10:37:13 - перейти к сообщению
Если строка короткая:


А если длинная:
PHP:
скопировать код в буфер обмена
  1. function hexbin($str) {
  2.         $it = strlen($str);
  3.         $ret = '';
  4.         for ($i=0;$i<$it;$i+=2) $ret .= pack("H",$str[$i]) | pack("h", $str[$i+1]);
  5.         return $ret;
  6.         }
3. levon99 - 06 Октября, 2011 - 14:27:44 - перейти к сообщению
Спасибо, но ф-ия

echo decbin(hexdec("0a"));


Выдала на экран: 1010

Т.е. это двоичное представление шестнадцатиричной "0a".
и при этом получилось 4 байта. А нужна именно однобайтовую "0a" вывести
т.е. на экрнае "закорючка" должна появиться.

 

Powered by ExBB FM 1.0 RC1