Получение данных от универсального робота и декодированиеPython

Программы на Python
Ответить
Anonymous
 Получение данных от универсального робота и декодирование

Сообщение Anonymous »

Я работаю над проектом, в котором мы хотим получить некоторые данные от универсального робота, например данные о положении и силе, а затем сохранить эти данные в текстовом файле для дальнейшего использования. Мы можем нормально получать данные, но превратить их в читаемые координаты — проблема. Пример строки данных приведен ниже:

Код: Выделить всё

b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xbf\x00\x00\x80\xbf\x00\x00\x80\xbf\x00\x00\x80\xbf\x00\x00\x80\xbf\x00\x00\x80\xbf\x00\x00\xc0?\x00\x00\x16C\x00\x00\xc0?\x00\x00\x16C\x00\x00\x00?\xcd\xcc\xcc>\x00\x00\x96C\x00\x00\xc8A\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xfb\x7f?\xd0M>i\x19T\xc2>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80?\xdb\x0f\xc9@\xa7\xdcU@\xa7\xdcU@\xa7\xdcU@\xa7\xdcU@\xa7\xdcU@\xa7\xdcU@\xfe\xff\xff\xff\xfe\xff\xff\xff\xfe\xff\xff\xff\xfe\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xecb\xc7@\xecb\xc7@\xecb\xc7@\
*получена не вся строка
Сначала я подумал, что это шестнадцатеричный код, поэтому попробовал код:

Код: Выделить всё

packet_12 = packet_12.encode('hex')
x = str(packet_12)
x = struct.unpack('!d', packet_12.decode('hex'))[0]
all_data.write("X=", x * 1000)
Но безрезультатно. Я попробовал несколько разных методов декодирования с использованием кодеков и .encode, но ни один из них не помог. В другом сообщении я нашел два блока кода ниже:

Код: Выделить всё

y = codecs.decode(packet_12, 'utf-8', errors='ignore')

packet_12 = s.recv(8)
z = str(packet_12)
x = ''.join('%02x' % ord(c) for c in packet_12)
Ни то, ни другое не помогло моему приложению. Наконец, я попытался сохранить весь текст в файле .txt, открыть его с помощью Python и декодировать с помощью приведенного ниже кода, но, похоже, снова ничего не произошло.

Код: Выделить всё

with io.open('C:\\Users\\myuser\\Desktop\\decode.txt', 'r', encoding='utf8') as f:
text = f.read()

with io.open('C:\\Users\\myuser\\Desktop\\decode', 'w', encoding='utf8') as f:
f.write(text)
Я понимаю, что могу упустить что-то невероятно простое, например, использовать неправильный тип декодирования, или у меня может даже быть бред в выводе робота, но любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/626 ... d-decoding
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»