라이브러리

[PHP] pack - 데이터를 이진 문자열로 압축




PHP 에서 pack() 함수

PHP 에서 `pack()` 함수는 바이너리 데이터를 문자열로 변환하는 데 사용됩니다. 이 함수는 `unpack()` 함수와 함께 사용하여 바이너리 데이터를 분석하거나 생성할 수 있습니다.

pack() 함수의 구조

`pack()` 함수의 구조는 다음과 같습니다.

#hostingforum.kr
php

pack('format', arg1, arg2, ...);



- `format`: 바이너리 데이터의 형식을 지정합니다. 예를 들어, `c`, `C`, `s`, `S`, `l`, `L`, `n`, `N`, `v`, `V`, `a`, `A`, `j`, `J`, `W` 등이 있습니다.
- `arg1`, `arg2`, ...: 바이너리 데이터의 값을 지정합니다.

pack() 함수의 예제

예제 1: 문자열을 바이너리 데이터로 변환


#hostingforum.kr
php

$string = 'Hello, World!';

$binary = pack('a*', $string);

echo $binary;



이 예제에서는 `pack()` 함수를 사용하여 문자열 `'Hello, World!'`을 바이너리 데이터로 변환합니다. `a*` 형식은 문자열을 바이너리 데이터로 변환합니다.

예제 2: 정수를 바이너리 데이터로 변환


#hostingforum.kr
php

$number = 12345;

$binary = pack('n', $number);

echo $binary;



이 예제에서는 `pack()` 함수를 사용하여 정수 `12345`을 바이너리 데이터로 변환합니다. `n` 형식은 16비트 정수를 바이너리 데이터로 변환합니다.

예제 3: 바이너리 데이터를 문자열로 변환


#hostingforum.kr
php

$binary = "x48x65x6cx6cx6fx2cx20x57x6fx72x6cx64x21";

$string = unpack('a*', $binary)[1];

echo $string;



이 예제에서는 `unpack()` 함수를 사용하여 바이너리 데이터를 문자열로 변환합니다. `a*` 형식은 바이너리 데이터를 문자열로 변환합니다.

pack() 함수의 형식

`pack()` 함수의 형식은 다음과 같습니다.

- `c`: 1바이트 문자
- `C`: 2바이트 문자
- `s`: 1바이트 문자열
- `S`: 2바이트 문자열
- `l`: 4바이트 정수
- `L`: 8바이트 정수
- `n`: 16비트 정수
- `N`: 32비트 정수
- `v`: 8비트 정수
- `V`: 32비트 정수
- `a`: 1바이트 문자열
- `A`: 2바이트 문자열
- `j`: 8바이트 정수
- `J`: 64비트 정수
- `W`: 64비트 정수

이러한 형식은 바이너리 데이터를 분석하거나 생성할 때 사용됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 347 페이지

검색

게시물 검색