我是一個新的Python用戶,我試圖用十六進制字符串轉換爲十進制整數。 在我的系統,我送模擬值,如:使用Python將十六進制字符串轉換爲十進制整數
import serial
import binascii
ser = serial.Serial(port = 'COM3',
baudrate = 9600,
bytesize=8,
parity='N',
stopbits=1,
timeout =None) # my parameter to communicate with my card
ser.open()
a = binascii.a2b_hex('010f0001000000c8d9') # transform hexadecimal under binary format (no problem)
u = ser.write(a) # send binary data (no problem, it works fine)
i = ser.read(u) # read the answer
i
# I get that hexadecimal string : '\x02\x01d\x0f\x00\x00\x02\xbf7'
我試了一下:
int(i, 0)
它沒有工作,我沒有在任何地方找到我怎麼能翻譯成十進制。有人知道嗎?
什麼是輸出'i'處理呢? – vaultah
十六進制將是基數16而不是0 –
爲什麼'我= ser.read(u)'而不是'i = ser.read()'? –