정의 및 사용법
unpack()
함수는 바이너리 문자열에서 데이터를 풀립니다.
예
예 1
바이너리 문자열에서 데이터를 포장 풀기 :
<? php
$ data = "php" ;
print_r ( 포장 풀기 ( "c*" , $ data ) ) ;
?>
직접 시도하십시오
예 2
데이터 풀기 :
<? php
$ data = "php" ;
print_r ( 포장 풀기 ( "c*myint" , $ data ) ) ;
?>
직접 시도하십시오
예 3
데이터 풀기 :
<? php
$ bin = pack ( "C2N2" , 0x1234 , 0x5678 , 65 , 66 ) ;
print_r ( 포장 풀기 ( "c2chars/n2int" , $ bin ) ) ;
?>
직접 시도하십시오
문법
포장 풀 ( 형식 , 데이터 , 오프셋 )
매개 변수 |
설명하다 |
체재
|
필수의. 데이터 포장을 풀 때 사용되는 형식을 지정합니다. |
데이터
|
선택 과목. 포장을 풀어야 할 이진 데이터를 지정합니다. |
오프셋
|
선택 과목. 포장 풀기 시작 위치를 지정하십시오. 기본값은 0입니다. |
형식 매개 변수에 대한 가능한 값 :
- a -nul -padded 문자열
- A- 공간 패딩 문자열
- H- 헥스 스트링, 정면의 낮은 니블
- H- 헥스 스트링, 앞쪽의 높은 니블
- C- 서명 된 문자
- C- 서명되지 않은 문자
- S- 서명 된 짧은 정수 (항상 16 비트, 기계 바이트 순서)
- S- 서명되지 않은 짧은 정수 (항상 16 비트, 기계 바이트 순서)
- n- 서명되지 않은 짧은 정수 (항상 16 비트, 대형 엔디 언 순서)
- V- 서명되지 않은 짧은 정수 (항상 16 비트, 작은 엔디 언 순서)
- I- 서명 된 정수 (기계 관련 크기 및 바이트 순서)
- I- 서명되지 않은 정수 (기계 관련 크기 및 바이트 순서)
- L- 서명 된 긴 정수 (항상 32 비트, 기계 바이트 순서)
- L- 서명되지 않은 긴 정수 (항상 32 비트, 기계 바이트 순서)
- n- 서명되지 않은 긴 정수 (항상 32 비트, 큰 엔드 바이트 순서)
- V- 부호없는 긴 정수 (항상 32 비트, 작은 엔디 어 바이트 순서)
- Q- 서명 긴 정수 (항상 64 비트, 기계 바이트 순서)
- Q- 서명되지 않은 긴 정수 (항상 64 비트, 기계 바이트 순서)
- J -Unsigned Long Integer (항상 64 비트, Big Endian Byte Order)
- P- 부호없는 긴 정수 (항상 64 비트, 작은 엔디 어 바이트 순서)
- F- 부동 소수점 번호 (기계 관련 크기 및 표현)
- G- 플로팅 포인트 번호 (기계 관련 크기, 리틀 엔디안 바이트 순서)
- G- 부동 소수점 번호 (기계 관련 크기, 대기업 바이트 순서)
- D- 이중 정밀 부동물 지점 번호 (기계 관련 크기 및 표현)
- E- 이중 정밀 부동 소수점 번호 (기계 관련 크기, 작은 엔디 언트 순서)
- E- 이중 정밀 부동 소수점 번호 (기계 관련 크기, 대형 엔디 언트 순서)
- X -NUL 바이트
- X- 하나의 바이트를 되 감습니다
- Z -Nul -Padded String
- @ -nul -fill ~ 절대 위치