How do I deserialize response messages from the controller?

I’m using this Python script to send request messages via TCP socket to a UR simulator.

import socket
import sys
import logging

logging.basicConfig(level=logging.DEBUG)

HOST = "10.0.0.133"
PORT = 30002

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket:
    client_socket.settimeout(4)

    try:
        client_socket.connect((HOST, PORT))
    except socket.timeout as e:
        logging.error("Timeout error: {}".format(e))
    except socket.error as e:
        logging.error("Could not connect to {}:{} Error: {}".format(HOST, PORT, e))

    try:
        client_socket.sendall(b"movej([0, 0, 0, 0, 0, 0], a=1.2, v=1.05)\n")
    except socket.error as e:
        logging.error("Sendall failed. Error: {}".format(e))

    response = client_socket.recv(1024)

if response:
    logging.info(f"Client received {response!r}")
    client_socket.close()
else:
    logging.error("No data received")
    client_socket.close()
    sys.exit(1)

I receive the following response message from the controller:

\x00\x00\x007\x14\xff\xff\xff\xff\xff\xff\xff\xff\xfe\x03\tURControl\x05\r\x00\x00\x00\x00\x00\x00\x00\x0013-10-2022, 09:22:44

How would I deserialize this response?

I’m aware of RTDE but would prefer to do it using sockets. I’ve search through the script manual as well as the user manual and cannot find any reference to how these messages are encoded.