Я использую Python 3.3.Преобразование двоичного числа в текст, читаемый человеком
Я получаю свои данные из последовательного порта, и каждый байт получает одно целое число. (число не больше 255, поэтому нет многобайтовых чисел).
Я стараюсь, чтобы это было написано в текстовом файле в человеко-читаемом тексте, поэтому я прошу помощи.
Если я получу значение 0b10000111 из моего последовательного порта, как мне получить этот номер, чтобы он отображался как «135» в моем текстовом файле? Это звучит как простая задача, но я много боролся!
Я также хочу добавить запятую, чтобы отделить значение (байты).
Это то, что я пытался:
import sys
import serial
port = serial.Serial('COM4', 115200)
fileID = open('output.txt', 'a')
while(1):
data = port.read(size=1)
if data != 0:
#MISSING SOME CONVERSION HERE... Tried a lot of things,
#but none have been correct.
fileID.write(data)
fileID.write(',')
Что 'магнезии (данные)' вернуть? – Blender
Что вы пробовали, и что у вас получилось? вы пытались, например, использовать 'int (data)'? – Elazar
int (data) и int (data, 2) дает мне ошибку: «invalid literal for int() с базой 2» – Phat