바이너리 문자열에서 데이터 압축을 푼다:
<?php$data = "PHP";print_r(unpack("C*",$data));?>unpack() 함수는 이진 문자열에서 데이터를 압축 해제합니다.
압축 풀기(형식, 데이터)
매개변수 | 설명하다 |
---|---|
체재 | 필수의. 데이터 압축을 풀 때 사용되는 형식을 지정합니다. 가능한 값: a - NUL로 채워진 문자열 A - 스페이스로 채워진 문자열 h - 16진수 문자열, 하위 비트 먼저 H - 16진수 문자열, 상위 비트 먼저 c - 서명된 문자 C - 부호 없는 문자 s - 부호 있는 짧은 형식(항상 16비트, 머신 바이트 순서) S - 부호 없는 short(항상 16비트, 머신 바이트 순서) n - 부호 없는 짧은 형식(항상 16비트, 빅 엔디안 바이트 순서) v - unsigned short(항상 16비트, 리틀 엔디안 바이트 순서) i - 부호 있는 정수(머신 크기 및 바이트 순서에 따라 다름) I - 부호 없는 정수(머신 크기 및 바이트 순서에 따라 다름) l - 부호 있는 긴 형식(항상 32비트, 머신 바이트 순서) L - unsigned long(항상 32비트, 머신 바이트 순서) N - unsigned long(항상 32비트, 빅 엔디안 바이트 순서) V - unsigned long(항상 32비트, 리틀 엔디안 바이트 순서) f - 부동소수점(기계 크기 및 표현에 따라 다름) d - 이중(기계 크기 및 표현에 따라 다름) x - NUL 바이트 X - 1바이트 백업 Z - NUL 패딩 문자열 @ - NUL은 절대 위치를 채웁니다. |
데이터 | 필수의. 압축을 풀 이진 데이터를 지정합니다. |
반환 값: | 성공하면 배열을 반환하고, 실패하면 FALSE를 반환합니다. |
---|---|
PHP 버전: | 4+ |
업데이트 로그: | PHP 5.5.0부터 Perl 호환성을 위해 다음과 같은 변경이 이루어졌습니다: "a" 코드는 후행 NULL 바이트를 유지합니다. "A" 코드는 모든 후행 ASCII 공백을 제거합니다. NUL 패딩 문자열에 "Z" 코드를 추가하고 후행 NULL 바이트를 제거합니다. |
데이터 압축을 푼다:
<?php$data = "PHP";print_r(unpack("C*myint",$data));?>데이터 압축을 푼다:
<?php$bin = pack("c2n2",0x1234,0x5678,65,66);print_r(unpack("c2chars/n2int",$bin));?>