Python: как декодировать строку bytestream на стороне сервера

Я отправляю свой JSON используя urllib.request на питоне 3.

data = {"a": "1"}
req = urllib.request.Request('https://example.com', data=json.dumps(data).encode('utf8'), headers={'Content-Type': 'application/json'})
urllib.request.urlopen(req)

Проблема в data=json.dumps(data).encode('utf8') который преобразует {"a": "1"} к той же строке с b префикс b'{"a": "1"}',

Я знаю, что в Python я могу использовать decode('utf8) удалить b префикс, но я должен быть в состоянии сделать это на стороне сервера, потому что Python 3 заставляет вас отправлять данные потока байтов.

Я использую php в качестве кода на стороне сервера.
Я пытался с помощью utf8_decode() но это ничего не делает.

Как я могу удалить b префикс на стороне сервера код?

1

Решение

Сторона сервера — это правда, PHP? Вы можете попробовать использовать utf8_decode() функция. Попробуйте и посмотрите, решит ли эта функция вашу проблему.

$data = utf8_decode($data_from_python);

Проверь это: http://php.net/manual/en/function.utf8-decode.php

0

Другие решения

Других решений пока нет …