我有一個字符串,其編號爲5:240
。從那我必須從他們的十六進制表示字符串發送數字。該數字必須在兩個字節的範圍內。但是,我想在我的串行端口上發送確切的表示,如'\x00\x05\x00\xf0'
。有人能幫我解決這個問題嗎?將字符串轉換爲十六進制以發送串行通信
我曾嘗試以下代碼段,但是沒有成功:
b='5:240'
b = b.split(':')
for i in range(len(b)):
print hex(int(b[i]))
print len(hex(int(b[i])))
結果:
0x5
3
0xf0
4
輸出顯示的十六進制轉換,但它不可能對我來說,把它的串行端口上,原因長度是變化的。任何人都可以解決這個問題嗎?
謝謝你的回覆。但它只是將數字轉換爲十六進制數字,我必須在串行端口上發送數字。對於你的解決方案,它給了我'len(word_hex(int(i)))= 8',它在端口上發送8個字符。我只需要2個字節(字符)的特定數字。 – abhi1610
好的。我在腳本中進行了一些調整後得到了它。爲了獲得所需的輸出,只需刪除'「\\ x」'保持空白也必須編輯行。 'print(word_hex(int(i)))。encode(「hex」)'。 – abhi1610