최신 웹 개발 튜토리얼
 

PHP unpack() Function

<기타 참조 PHP

이진 문자열에서 데이터의 압축을 풉니 다 :

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>
»실행 예

정의 및 사용

unpack() 함수는 바이너리 문자열에서 데이터 압축을 풉니 다.


통사론

unpack(format,data)

매개 변수 기술
format 필요합니다. 데이터를 포장 할 때 사용하는 형식을 지정합니다.

가능한 값 :

  • A - NUL 패딩 문자열
  • A - SPACE 패딩 문자열
  • 시간 - 진수 문자열, 낮은 니블 처음
  • H - 진수 문자열, 높은 니블 처음
  • C - 서명 문자
  • C - 서명 숯불
  • 의 - 짧은 서명 (always 16 bit, machine byte order)
  • S - 서명되지 않은 짧은 (always 16 bit, machine byte order)
  • N - 서명되지 않은 짧은 (always 16 bit, big endian byte order)
  • V - 서명되지 않은 짧은 (always 16 bit, little endian byte order)
  • I - 부호있는 정수 (machine dependent size and byte order)
  • I - 부호없는 정수 (machine dependent size and byte order)
  • L - 긴 서명 (always 32 bit, machine byte order)
  • L - 부호없는 긴 (always 32 bit, machine byte order)
  • N - 부호없는 긴 (always 32 bit, big endian byte order)
  • V - 부호없는 긴 (always 32 bit, little endian byte order)
  • F - 플로트 (machine dependent size and representation)
  • D - 더블 (machine dependent size and representation)
  • X - NUL 바이트
  • X - 뒤로 한 바이트 최대
  • Z - NUL 패딩 문자열
  • @ - 절대 위치 NUL 완성
data 필요합니다. 압축을 풀 수있는 이진 데이터를 지정합니다

기술적 세부 사항

반환 값 : 실패에서 성공에 배열 또는 FALSE를 돌려줍니다.
PHP 버전 : 4+
변경 내역 : PHP 5.5.0로, 다음과 같이 변경 펄의 호환성을 위해 만들어졌다 :

"a" 코드는 이제 NULL 바이트를 후행 유지합니다.
"A" 코드는 이제 모든 후행 ASCII의 공백을 제거합니다.
"Z" 코드 NULL - 패딩 문자열을 첨가하고, NULL 바이트를 후행 제거합니다.

더 예

예 1

포장을 풀고 데이터 :

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>
»실행 예

예 2

포장을 풀고 데이터 :

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>
»실행 예

<기타 참조 PHP