PHP конвертировать строку hex без кодирования - PullRequest
0 голосов
/ 05 января 2019

Я получаю такие данные:

$string = "\x01\x03\r\x08\xc0";

Как из этой переменной вывести (с echo) одно и то же значение?

Например, на python, когда я печатаю:

$ print [string]

Я понял

["\x01\x03\r\x08\xc0"]

Примечание: Без do $string = '\x01\x03\r\x08\xc0', потому что я использую сервер, который получает данные, а строковая переменная является данными.

Может кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 05 января 2019

когда интерпретатор php достигает строки:

$string = "\x01\x03\r\x08\xc0";

автоматически разбирает строку между двойными кавычками. так что вы не можете получить настоящую строку. но если вы можете гарантировать, что полученный ответ является действительным гексом, используйте функцию bin2hex (). в этом случае вы можете конвертировать результат этой функции в то, что вы хотите. что-то вроде:

$str = bin2hex($hex);
$real_str = '';
for($i=0; $i<strlen($str); $i+=2){
    $real_str .= '\\x'.$str[$i].$str[$i+1];
 }
 echo $real_str;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...