作者wnick (浅龙勿用)
看板perl
标题[问题] 关於字元
时间Thu Apr 26 03:43:57 2007
想请问一个问题
我把TCPDUMP的档案作解析
其中IP的部分我用UNPACK('H4',$ip)解出
如此型式:4136ab0f
这是ASCII的形式 一个字是4 bit
因为PERL没有处理8 BIT的函式
又无法把他转成BINARY
所以我上面拆成四BIT唯一单位
用my @hexarray = split (//,$ip_src);
然後我用$a = $hexarray[$c];
if($a==1) {$b = "0001";}
elsif($a==2) {$b = "0010";}
elsif($a==3) {$b = "0011";}
elsif($a==4) {$b = "0100";}
elsif($a==5) {$b = "0101";}
elsif($a==6) {$b = "0110";}
elsif($a==7) {$b = "1111";}
elsif($a==8) {$b = "1000";}
elsif($a==9) {$b = "1001";}
elsif($a==a) {$b = "1010";}
elsif($a==b) {$b = "1011";}
elsif($a==c) {$b = "1100";}
elsif($a==d) {$b = "1101";}
elsif($a==e) {$b = "1110";}
elsif($a==f) {$b = "1111";}
elsif($a==0) {$b = "0000";}
来把它变成BINARY处理
但是a到f就是比对不出
而且$hexarray[$c]很诡异
我用LENTH函式去算有会显示4
但是明明就是一个字
但是指定给$b变数算长度就是一
还是有更好的方法转变成IP的形式?
谢谢你的帮助
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.134.21.194
※ 编辑: wnick 来自: 140.134.21.194 (04/26 05:13)
1F:→ iFEELing: 'eq' 跟 '==' ??? 04/26 10:59
2F:→ wnick:懂了~~~~原来是这种错误~~感恩 04/26 21:58