конвертация HEX в строку

176
10 ноября 2018, 09:10

Имеется строка 'Привет мир ASCII'. Я ее конвертирую в массив:

    header('Content-Type: text/html; charset="utf-8"');
            $s = 'Привет мир ASCII';
    $arr = array();
    $l = mb_strlen($s, 'utf-8');
    // разбить мб строку на массив
    for($i = 0; $i < $l; $i++)
    {
        $arr[] = mb_substr($s, $i, 1, 'utf-8');
    }
    // to hex
    for($i = 0; $i < count($arr); $i++)
    {   
        $hex = '';
        for ($j = 0; $j < strlen($arr[$i]); $j++)
        { 
            $hex .= dechex(ord($arr[$i][$j]));
        }
        $arr[$i] = $hex;
    }
   Array(
      [0] => d09f
      [1] => d180
      [2] => d0b8
      [3] => d0b2
      [4] => d0b5
      [5] => d182
      [6] => 20
      [7] => d0bc
      [8] => d0b8
      [9] => d180
      [10] => 20
      [11] => 41
      [12] => 53
      [13] => 43
      [14] => 49
      [15] => 49
   )

Как его обратно преобразовать в строку 'Привет мир ASCII'? Версия php 5.3.

Answer 1

В общем сделал вот так:

echo pack('H*', implode('', $arr)); // хз как, но работает
READ ALSO
Передать строку PHP в Javascript

Передать строку PHP в Javascript

Есть форма с полем name

162
Json encode проблема с пробелом

Json encode проблема с пробелом

Почему, если обернуть массив в json_encode:

135
FPDF - наложение строк

FPDF - наложение строк

Идет наложение текста друг на друга, причем хаотичноНе понятно по каким причинам происходит наложение

172
Laravel Vue хорошая ли практика

Laravel Vue хорошая ли практика

Использую в своих разработках Laravel + vue и у меня возник один вопрос: Хорошая ли эта практика передавать все возможные данные (например всю информацию...

152