Python使用struct處理二進制的實例詳解
有的時候需要用python處理二進制數據,比如,存取文件,socket操作時.這時候,可以使用python的struct模塊來完成.可以用 struct來處理c語言中的結構體.
struct中支持的格式如下表:
| Format | C Type | Python | 字節數 |
|---|---|---|---|
| x | pad byte | no value | 1 |
| c | char | string of length 1 | 1 |
| b | signed char | integer | 1 |
| B | unsigned char | integer | 1 |
| ? | _Bool | bool | 1 |
| h | short | integer | 2 |
| H | unsigned short | integer | 2 |
| i | int | integer | 4 |
| I | unsigned int | integer or long | 4 |
| l | long | integer | 4 |
| L | unsigned long | long | 4 |
| q | long long | long | 8 |
| Q | unsigned long long | long | 8 |
| f | float | float | 4 |
| d | double | float | 8 |
| s | char[] | string | 1 |
| p | char[] | string | 1 |
| P | void * | long |
注1.q和Q只在機器支持64位操作時有意思
注2.每個格式前可以有一個數字,表示個數
注3.s格式表示一定長度的字符串,4s表示長度為4的字符串,但是p表示的是pascal字符串
新聞熱點
疑難解答