我需要用原始二進制數據構建一個tcp幀,但是我發現所有關於字節的例子和教程總是涉及從字符串轉換,而這不是我所需要的。Python 3構建一個字節數組
總之,我只是需要建立一個字節數組:
0xA2 0x01 0x02 0x03 0x04
請注意,我來自C/C++的世界。
我已經試過這樣:
frame = b""
frame += bytes(int('0xA2',16))
frame += bytes(int('0x01',16))
frame += bytes(int('0x02',16))
frame += bytes(int('0x03',16))
frame += bytes(int('0x04',16))
然後拋出這個框架變量發送插座的方法,但工作不正常的幀不包含我想要什麼......
我知道這是一個關於Python的非常基本的問題,所以如果你能指點我正確的方向......
上述代碼的問題在於,如果給定整數而不是列表,則「字節」的行爲會非常不同。你應該使用'frame + = bytes([int('0xa2',16)])''。 –
我知道你希望(ed)動態地做到這一點,但是完全不清楚的是:輸入字節從哪裏來?你從文本文件中讀取十六進制符號?你在源代碼中寫下每個字節?你有他們在一個字節數組,你從閱讀二進制標準輸入讀取? –