Python模塊:struct

各個編程語言都有本身的數據類型,當python須要接受其餘語言或者網絡傳輸來交互數據的時候,須要考慮到python的數據類型與其餘平臺之間交互問題。而python的struct就是解決這個問題的。python

struct模塊經常使用方法:編程

struct.pack()   #將python的值根據格式符轉換爲字符串(Python中沒有字節類型,能夠把這裏的字符串理解爲字節流或字節數組)。

struct.pack(fmt,v1,v2,...)     #fmt是格式字符串v1,v2表示python要轉換的值
 例:將整數轉換成字符串import struct

a = 20
b = 400
str = struct.pack('ii',a,b)
print(str)
print(repr(str))

輸出結果爲:
b'\x14\x00\x00\x00\x90\x01\x00\x00'
b'\x14\x00\x00\x00\x90\x01\x00\x00'

#格式符'i':表示轉換爲int;'ii'表示有兩個int變量。
#十六進制的0x00000014, 0x00001009分別表示20和400。

 

struct.unpack()   #恰好與struct.pack相反,用於將字節流轉換成python數據類型,並返回一個元組。

方法:struct.unpack(fmt,string)

import struct

str = struct.pack('ii',20,30)
a1,a2 = struct.unpack('ii',str)

print('a1:',a1)
print('a2:',a2)

輸出結果爲:

a1: 20
a2: 30
相關文章
相關標籤/搜索