Я пишу asyncio web-sockets приложение. У меня есть мой клиент и сервер, которые обмениваются данными в формате JSON. Иногда в ответ клиенту сервер возвращает аудиоданные. Я кодирую эти данные в base64 и декодирую как utf-8. Но когда я отправляю json с аудиоданными, клиент веб-сокета не может декодировать эти данные и выдает «UnicodeDecodeError»
Так я отправляю данные с сервера
. . .
# audio_data is binary data from ".wav" file
response = {
'status': 'success',
'data': base64.b64encode(audio_data).decode('UTF-8')
}
# send data throught socket
await websocket.send(json.dumps(response))
. . .
Код, который получает данные отправки (Здесь я получил ошибку)
. . .
# Receive data from web-socket server
response = await websocket.recv()
. . .
Ошибка, которую я получаю
Traceback (most recent call last):
File ".../env/lib/python3.6/site-packages/websockets/protocol.py", line 674, in transfer_data
message = yield from self.read_message()
File ".../env/lib/python3.6/site-packages/websockets/protocol.py", line 757, in read_message
return frame.data.decode('utf-8') if text else frame.data
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf0 in position 51872: invalid continuation byte