@very_hard_human

Как передать байтовую строку из python скрипта в PHP?

Есть python скрипт, который на выходе генерирует байтовое представление строки (это вроде бы так называется). Вот пример вывода скрипта (это то, что выдало мне print в консоли)

b'tc\x02\x0e=\xd8\xbf\xec\x9e\xac .Q^\xfe3\xeeD\xe77\xca\xe5\x8b\x97\x0b\x1e nN\x02UmH[\xab\xe5\'\xbfEr\x9a\xfb\xb2\x89\xc4\xa9LQ\xc5\xd4\xd0(\xe4\xe0\xc7H:\xd6\xd6\xf8\x90\x92\xf63\\"\x1d#\x9e\x86\xec\xec\x9e\xac .P\x8c\xfe3\\\xf1\xf5{'

Смысл скрипта в том, что мы передаем ему json-строку, а он отдает вот такое зашифрованное нечто.

Задача состоит в том, что этот зашифрованный результат мне требуется передать на сервер при помощи php. Т.е. из php вызываю exec('python3 encode.py "{\"test\": 1}"'), затем полученное передаю на сервер.
В том виде, что сейчас есть, сервер не принимает, хотя если я делаю аналогичный запрос но в pythone, то все работает как надо.
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
Viktor_T2
@Viktor_T2
python developer
import sys

b = b'tc\x02\x0e=\xd8\xbf\xec\x9e\xac .Q^\xfe3\xeeD\xe77\xca\xe5\x8b\x97\x0b\x1e nN\x02UmH[\xab\xe5\'\xbfEr\x9a\xfb\xb2\x89\xc4\xa9LQ\xc5\xd4\xd0(\xe4\xe0\xc7H:\xd6\xd6\xf8\x90\x92\xf63\\"\x1d#\x9e\x86\xec\xec\x9e\xac .P\x8c\xfe3\\\xf1\xf5{'

sys.stdout.buffer.write(b)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
preg_replace_callback('/\\\\x([0-9a-f]{2})/',function($m){return hex2bin($m[1]);},закодированная строка);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы