라이브러리

[PHP] unpack - 바이너리 문자열에서 데이터 압축 해제




PHP 에서 Unpack

PHP 에서 `unpack` 함수는 바이너리 데이터를 구조화된 형식으로 변환하는 데 사용됩니다. 이 함수는 C 언어의 `unpack` 함수와 유사하며, 바이너리 데이터를 읽고 구조화된 형식으로 변환합니다.

Unpack 함수의 기본 형식

`unpack` 함수의 기본 형식은 다음과 같습니다.

#hostingforum.kr
php

unpack('format', $data);



- `format` : 바이너리 데이터를 읽을 구조를 정의하는 문자열입니다.
- `$data` : 바이너리 데이터입니다.

Unpack 함수의 format

`unpack` 함수의 `format` 문자열은 바이너리 데이터를 읽을 구조를 정의합니다. 이 문자열은 여러 가지 형식으로 구성됩니다.

- `c` : 1바이트 정수
- `C` : 2바이트 정수
- `s` : 1바이트 문자열
- `S` : 2바이트 문자열
- `l` : 4바이트 정수
- `L` : 4바이트 정수
- `q` : 8바이트 정수
- `Q` : 8바이트 정수
- `n` : 2바이트 정수
- `v` : 1바이트 정수
- `V` : 4바이트 정수
- `N` : 4바이트 정수
- `j` : 4바이트 정수
- `J` : 8바이트 정수
- `x` : 무시할 바이트

예제

다음 예제는 `unpack` 함수를 사용하여 바이너리 데이터를 구조화된 형식으로 변환하는 방법을 보여줍니다.

#hostingforum.kr
php

$data = pack('C*', 0x12, 0x34, 0x56, 0x78);



$unpack = unpack('C*', $data);



print_r($unpack);



이 예제에서는 `pack` 함수를 사용하여 바이너리 데이터를 생성한 후, `unpack` 함수를 사용하여 바이너리 데이터를 구조화된 형식으로 변환합니다. 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [1] => 18

    [2] => 52

    [3] => 86

    [4] => 120

)



이 예제에서는 `C*` 형식으로 바이너리 데이터를 읽었으며, 결과는 정수 값으로 출력되었습니다.

실제 예제

다음 예제는 실제 바이너리 데이터를 읽는 방법을 보여줍니다.

#hostingforum.kr
php

$data = file_get_contents('example.bin');



$unpack = unpack('C*', $data);



print_r($unpack);



이 예제에서는 바이너리 파일을 읽은 후, `unpack` 함수를 사용하여 바이너리 데이터를 구조화된 형식으로 변환합니다. 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [1] => 18

    [2] => 52

    [3] => 86

    [4] => 120

)



이 예제에서는 바이너리 파일을 읽은 후, `unpack` 함수를 사용하여 바이너리 데이터를 구조화된 형식으로 변환했습니다.

결론

`unpack` 함수는 바이너리 데이터를 구조화된 형식으로 변환하는 데 사용됩니다. 이 함수는 C 언어의 `unpack` 함수와 유사하며, 바이너리 데이터를 읽고 구조화된 형식으로 변환합니다. `unpack` 함수의 `format` 문자열은 바이너리 데이터를 읽을 구조를 정의합니다. 이 함수는 다양한 형식으로 구성됩니다. 예제를 통해 `unpack` 함수를 사용하여 바이너리 데이터를 구조화된 형식으로 변환하는 방법을 보여줍니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 53 페이지

검색

게시물 검색