-1
我有包含下面的C數組文件:如何解析數組c在python
/* Frame bytes */
static const unsigned char pkt1[19] = {
0x83, 0x01, 0xbc, 0x4e, 0xd9, 0x09, 0x81, 0x03, /* ...N.... */
0x79, 0x54, 0x55, 0x98, 0x69, 0x06, 0x0a, 0x12, /* yTU.i... */
0x42, 0x83, 0x62 /* B.b */
};
/* Frame bytes */
static const unsigned char pkt2[11] = {
0x83, 0x01, 0xbc, 0x4e, 0x39, 0x09, 0x81, 0x03, /* ...N9... */
0x52, 0x80, 0x30 /* R.0 */
};
/* Frame (115 bytes) */
static const unsigned char pkt3[27] = {
0x83, 0x01, 0xbc, 0x4e, 0x39, 0x09, 0x81, 0x03, /* ...N9... */
0x01, 0x00, 0x6c, 0x1f, 0xa2, 0x1d, 0x02, 0x01, /* ..l..... */
0x04, 0x08, 0x34, 0x12, 0x21, 0x00, 0x35, 0x63, /* ..4.!.5c */
0x92, 0x91, 0x65 /* ..e */
};
是否有蟒蛇任何直接的方式來解析該文件並解壓六角流?我需要的輸出是這樣的:
0x83, 0x01, 0xbc, 0x4e, 0xd9, 0x09, 0x81, 0x03, 0x79, 0x54, 0x55, 0x98, 0x69, 0x06, 0x0a, 0x12, 0x42, 0x83, 0x62
0x83, 0x01, 0xbc, 0x4e, 0x39, 0x09, 0x81, 0x03, 0x52, 0x80, 0x30
0x83, 0x01, 0xbc, 0x4e, 0x39, 0x09, 0x81, 0x03, 0x01, 0x00, 0x6c, 0x1f, 0xa2, 0x1d, 0x02, 0x01, 0x04, 0x08, 0x34, 0x12, 0x21, 0x00, 0x35, 0x63, 0x92, 0x91, 0x65
或者:
8301bc4ed90981037954559869060a12428362
8301bc4e39098103528030
8301bc4e3909810301006c1fa21d02010408341221003563929165
一般來說,你將不得不用Python語言編寫一個C解析器。真的很難。但是,如果文件非常簡單,那麼您可以通過正則表達式搜索「{...};」之間的所有內容。 – freakish
@freakish尋找'{...}'塊是我的第一個想法。只是想看看是否有任何可以理解C數組的Python中的lib。似乎沒有。 – Meysam
':%s,/。* /,'':g/{/ norm jvi} J'':g/[{}]/d'在Vim中。 – TessellatingHeckler