Я выполняю передачу данных с прибора через последовательный диалог RS232 с использованием Python. Данные приходят в формате ASCII. Например, это то, что я получаю в ASCII от инструмента, использующего Python:
'\x02S20390908127F010102F3004000900300000000000000000000000000000300A500000000000202020202020206070505050505050000000707070707070707020700000000000000000000000000000000000000008000800089237A0715047E000000000000000000000000000000000000000000000000000000000000000000000000005350374646303030\x1732'
Та же самая передача данных с использованием Hyperterminal (Docklight) дала мне это, и следующее шестнадцатеричное представление, которое я получил в гипертерминале:
02 53 31 38 33 38 30 39 30 38 31 32 37 46 30 31 30 31 30 32 46 33 30 30 34 30 30 30 39 30 30 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 33 30 30 41 35 30 30 30 30 30 30 30 30 30 30 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 36 30 37 30 35 30 35 30 35 30 35 30 35 30 35 30 30 30 30 30 30 30 37 30 37 30 37 30 37 30 37 30 37 30 37 30 37 30 32 30 37 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 30 30 30 38 30 30 30 38 39 32 33 37 41 30 37 31 35 30 34 37 45 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 33 35 30 33 37 34 36 34 36 33 30 33 30 33 30 17 33 38
Мой вопрос заключается в том, как мне, используя Python, получить такое же шестнадцатеричное представление из полученных данных ascii. Я очень нуб, когда дело доходит до такого рода вещей. Заранее спасибо.
02 53 32 30 33 39
, тогда как ваш начинается02 53 31 38 33 38
, мой заканчивается на32
, а ваш заканчивается38
. Поскольку различаются только четыре термина, трудно понять, в чем может быть ошибка. - person DSM   schedule 10.08.2012