我正在製作一個基本的服務器/客戶端程序,並且我正在用Python製作客戶端。我必須在發送消息之前格式化消息。第一個字段是消息長度。我可以計算消息長度,但是我需要將值存儲在byte數組的前兩個字節中。如果消息長度小於256,它應該只有一個字節。我怎麼能強制這個數字是2個字節,而不用在前面加一個0x00?如何在Python中將一個字節int更改爲兩個字節?
0
A
回答
2
使用struct
module。例如,要按網絡順序(big-endian)將整數打包爲無符號的雙字節值,您應該這樣做:
> my_value = 1234
> packed_bytes = struct.pack('>H', my_value)
> print packed_bytes
'\x04\xd2'
+0
謝謝!這將起作用 –
+0
如果my_value等於150字節的一個字節值,那麼即使技術上只佔用1個字節,我如何強制將它壓入packed_bytes的前兩個字節?我只需要能夠處理1個字節和2個字節的數字。 –
+0
@AlexJohnson:我不明白你的問題。如果'my_value'是150,那麼這個代碼的輸出將是''\ x00 \ x96'',即兩個字節的第一個字節爲0。 –
相關問題
- 1. 將4個字節的字節轉換爲一個int
- 2. 將兩個字節轉換爲一個字節,反之亦然
- 3. 將兩個字節合併爲一個
- 4. 字符串字節爲一個int
- 5. 如何將兩個字節轉換爲一個16位數字?
- 6. 將一個字節的字符串轉換爲一個unsigned int
- 7. 包裝4個字節爲一個int
- 8. 爲什麼ToBase64String將16個字節的字符串更改爲24個字節
- 9. 在C中將2個字節組合成一個短int int
- 10. 四個1字節字符到一個4字節int?
- 11. 如何將單個字符更改爲一個int在sml/nj
- 12. 如何在Python中將整數視爲一個字節數組?
- 13. 將3個字節轉換爲int嗎?
- 14. 如何在Java中將int轉換爲三個字節?
- 15. 在一個字節中交換兩個半字節
- 16. 在兩個字節長的變量中反轉一個字節
- 17. C#幫助將兩個字節的字拆分爲字節
- 18. 如何在java中將三個字節數據壓縮成兩個字節
- 19. INT轉換爲一個字節數組
- 20. 在Python 2.7中將字符串更改爲字節類型
- 21. 兩個字節
- 22. Python 3.4將字節字節字節轉換爲字節對象
- 23. 如何將一個Android.graphics.bitmap改成一個字節數組在c#
- 24. 如何將int設置爲字節* C#
- 25. 如何將int轉換爲字節?
- 26. 將字節[]轉換爲int
- 27. 從Ruby中的一個字節獲取兩個半字節
- 28. 如何從一個字節流中分離一個字節
- 29. 在SSAS中將字節轉換爲Int
- 30. C#將Int轉換爲兩個十六進制字節?
'struct'模塊可能會有所幫助。 – GWW