Friday, May 11, 2007
Perl 펄] 바이트 배열을, 이진 문자열로 변환 방법; Bytes to Binary Array, Bin-String
펄은 바이트 단위가 아닌 문자열 단위로 입출력을 하기에, 문자열이 아닌 문자 하나씩을 바이트 단위로 처리하려면, pack 과 unpack 함수를 사용하여 처리합니다. 아래 소스는
* 눈에 보이지 않는 이진 바이트로 이루어진 문자열 만들기
* 이진 문자열 (Binary String) 은 화면에 그대로 출력하기 힘들기에, 헥사로 변환하여 출력하는 방법입니다.
파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
* 눈에 보이지 않는 이진 바이트로 이루어진 문자열 만들기
* 이진 문자열 (Binary String) 은 화면에 그대로 출력하기 힘들기에, 헥사로 변환하여 출력하는 방법입니다.
바이너리 문자열, 이진 배열 만들기 예제
파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;
###############################################################
## 이진 문자열 만들기
#
my @bytes = ( 0x00, 0x01, 0x02, 0xFF ); # 이진 바이트 배열 만들기
my $bin_str = pack "C*", @bytes; # 이진 배열을 이진 문자열로 합치기
# 만들어졌습니다.
###############################################################
## 이진 문자열을 헥사로 출력하기
#
my @bin_array = unpack "C*", $bin_str; # 이진 문자열을, 이진 배열로 다시 분리하기
foreach (@bin_array) {
printf("%02X ", $_);
}
# 화면 출력 결과: 00 01 02 FF
use strict; use warnings;
###############################################################
## 이진 문자열 만들기
#
my @bytes = ( 0x00, 0x01, 0x02, 0xFF ); # 이진 바이트 배열 만들기
my $bin_str = pack "C*", @bytes; # 이진 배열을 이진 문자열로 합치기
# 만들어졌습니다.
###############################################################
## 이진 문자열을 헥사로 출력하기
#
my @bin_array = unpack "C*", $bin_str; # 이진 문자열을, 이진 배열로 다시 분리하기
foreach (@bin_array) {
printf("%02X ", $_);
}
# 화면 출력 결과: 00 01 02 FF
tag: perl
Perl | 펄
<< Home