>백엔드 개발 >PHP 문제 >PHP에서 16진수를 해당 문자로 변환하는 방법

PHP에서 16진수를 해당 문자로 변환하는 방법

PHPz
PHPz원래의
2023-04-12 19:07:521468검색

PHP는 16진수 문자열을 해당 문자로 쉽게 변환할 수 있는 16진수 문자 변환 기능을 제공합니다. 이번 글에서는 이 기능의 사용법과 주의사항을 소개하겠습니다.

1. 함수 소개

PHP는 16진수 문자열을 문자로 변환하는 데 사용할 수 있는 두 가지 함수를 제공합니다:

  1. hex2bin() 함수: 16진수 문자열을 2진수 문자열로 변환합니다.
  2. pack() 함수: 하나 이상의 정수, 부동 소수점 숫자 또는 문자열을 이진 문자열로 묶습니다.

2. hex2bin() 함수 사용법

구문: ​​hex2bin($hexstr)

함수: 16진수 문자열을 해당 이진수 문자열로 변환합니다.

샘플 코드:

$hexstr = '616263';
$binstr = hex2bin($hexstr);
echo $binstr;

출력 결과:

abc

3. pack() 함수 사용

구문: ​​pack($format, $data1, $data2, ...)

함수: 하나 이상의 An을 포장합니다. 정수, 부동 소수점 또는 문자열을 이진 문자열로 압축합니다.

$format 매개변수: 패키징 형식을 지정합니다. 자세한 내용은 아래 표를 참조하세요.

Format Description
a NUL 패딩 문자열
A 스페이스 패딩 문자열
h 16진수 문자열(낮은 끝부터) )
H 16진수 문자열(상위부터)
c 부호 있는 문자
x 1바이트 공백으로 채워짐
C 부호 없는 문자
s 짧은 서명( 16비트, 엔디안은 호스트에 따라 다름)
S Unsigned short(16비트, 엔디안은 호스트에 따라 다름)
n Unsigned short(16비트, 빅 엔디안)
v Unsigned short(16비트, 리틀 엔디안)
i 부호 있는 정수(32비트, 엔디안은 호스트에 따라 다름)
I 부호 없는 정수(32비트, 엔디안은 호스트에 따라 다름)
l 호스트의 서명된 긴 정수(32비트, 엔디안은 호스트에 따라 다름)
L Unsigned long(32비트, 엔디안은 호스트에 따라 다름)
N Unsigned long(32비트, 빅 엔디안)
V Unsigned long(32비트, 리틀 엔디안)
f 단일 정밀도 부동 소수점 수
d 이중 정밀도 부동 소수점 수

샘플 코드:

$hexstr = '616263';
$binstr = pack('H*', $hexstr);
echo $binstr;

출력 결과:

abc

IV. Notes

  1. hex2bin() 함수와 pack() 함수는 PHP5.4 이상에서만 지원됩니다.
  2. hex2bin() 함수와 pack() 함수의 매개변수는 짝수 자리의 16진수 문자열이어야 합니다. 그렇지 않으면 오류가 보고됩니다.
  3. pack() 함수의 첫 번째 매개변수는 패키징 형식을 지정해야 하며 일반적으로 대상 인코딩에 따라 엔디안을 선택해야 합니다.

위 내용은 PHP에서 16진수를 해당 문자로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.