Monday, December 31, 2012

string 을 바이트 단위의 hexadecimal 로 얻어내는 Perl 함수

이것은 'serialize' 된 데이터를 hexadecimal 값으로 보는데 유용한 함수이다.
1:  sub TESTstohex  
2:  {  
3:         my $s = "";  
4:         $s .= pack('C1', 255);  
5:         $s .= pack('C1', 254);  
6:         my $h = stohex($s);  
7:         print($h);  
8:  }  
9:  sub stohex  
10:  {  
11:         my $s = $_[0];  
12:         my $result = "";  
13:         my @a = unpack('(C1)*', $s);  
14:         foreach(@a){  
15:                $result .= tohex($_) . " ";  
16:         }  
17:         chop($result);  
18:         return $result;  
19:  }  
4행에서 pack 함수를 쓰지 않으면 255 의 숫자 2, 5, 5가 각자 하나씩의 문자가 되어 들어가버린다.

No comments:

Post a Comment