文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>python中struct.unpack结构指针的解决方法

python中struct.unpack结构指针的解决方法

时间:2008-11-12  来源:mhz-ada

首先声明,我这个方法也只是“曲线救国”,好了,先介绍下我要unpack的结构:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5C1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"><style> </style>

typedef struct _st_DataInfo{

char ReportTime[20];

char GUID[41];

char UserName[33];

char UserIp[50];

int  ItemNumber;

DATAITEM *data;

} DATAINFO;

Typedef struct _st_DataItem{

char Infohash[41];     

int  TotalPeers;

int  UploadPeers;

int  DownloadPeers;

int  StandbyPeers; 

long long Upload; 

long long Download;

int  UploadSpeed;

int  DownloadSpeed;

} DATAITEM;


里面的itemnumber是后面DATAITEM结构的个数,而最后的那个DATAITEM *data真是困扰我多时啊,查了半天,也没琢磨出结构指针用哪种format解析,python2.5手册解析格式如下:

Format

C Type

Python

Notes

x

pad byte

no value


c

char

string of length 1


b

signed char

integer


B

unsigned char

integer


h

short

integer


H

unsigned short

integer


i

int

integer


I

unsigned int

long


l

long

integer


L

unsigned long

long


q

long long

long

(1)

Q

unsigned long long

long

(1)

f

float

float


d

double

float


s

char[]

string


p

char[]

string


P

void *

integer

后来转头一想,算了,把指针长度大小的数据忽略掉吧,四个字节,self.buf = self.buf[:184]+self.buf[188:],后来就成功了

注:谁知道怎么unpack这种的,一定要告诉我啊,多谢了:)

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载