>  기사  >  백엔드 개발  >  PHP에서 16진수를 문자열 함수로 변환하는 방법

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

PHPz
PHPz원래의
2023-04-19 09:15:181038검색

PHP는 서버측 프로그래밍 언어로서 개발자가 빠르게 개발할 수 있는 풍부한 기능 라이브러리를 갖추고 있습니다. PHP는 16진수를 문자열로 변환하는 함수를 제공합니다. 아래에서 이 함수를 소개하겠습니다.

PHP에서 16진수를 문자열로 변환하는 함수는 hex2bin()입니다. 그 기능은 16진수를 문자열로 변환하는 것입니다.

예제 코드:

$string = hex2bin('546869732069732061207465737420737472696e67');
echo $string;

실행 결과:

This is a test string

위의 예에서 hex2bin() 함수는 16진수 문자열 '546869732069732061207465737420737472696e67'을 'This is a test'로 변환합니다. 문자열'. 보시다시피 변환된 문자열은 원래 16진수 문자열과 동일합니다.

hex2bin() 함수를 호출할 때 전달된 16진수가 짝수가 아닌 경우(즉, 2로 나눌 수 없는 경우) PHP는 자동으로 끝에 '0' 문자를 추가합니다. 문자열을 짝수로 만든 다음 변환합니다.

샘플 코드:

$string = hex2bin('546869732069732061207465737420737472696e670');
echo $string;

실행 결과:

테스트 문자열입니다

16진수 문자열 '546869732069732061207465737420737472696e670' 끝에 문자 '0'이 자동으로 추가됩니다.

hex2bin() 함수 외에도 PHP에는 16진수를 문자열로 변환할 수 있는 다음 두 가지 함수가 있습니다.

  1. pack() 함수:
    pack() 함수를 사용하여 16진수를 문자열로 변환할 수 있습니다. 문자열로. hex2bin() 함수와 달리 pack() 함수는 다양한 형식에 따라 변환할 수 있습니다.

형식 설명:

H - 16진수 문자열(빅 엔디안)
h - 16진수 문자열(로우 엔디안)
N - Unsigned long(네트워크 바이트 순서)
n - Unsigned short(네트워크 바이트 순서)
V - Unsigned long (native byte order)
v - Unsigned short (native byte order)

샘플 코드:

$string = pack("H*", '546869732069732061207465737420737472696e67');
echo $string;

실행 결과:

테스트 문자열입니다

이 코드는 hex2bin() 함수 사용과 유사합니다. 차이점은 pack() 함수가 다양한 형식에 따라 16진수 문자열을 구문 분석할 수 있다는 것입니다.

  1. chr() 함수:
    chr() 함수는 지정된 ASCII 코드 값을 문자로 변환하는 데 사용됩니다. 1바이트는 256개의 서로 다른 문자를 나타낼 수 있으므로 1바이트의 16진수는 ASCII 코드 값에 해당합니다. 따라서 16진수 문자열을 두 개의 문자 그룹으로 나누고 각 그룹을 해당 ASCII 코드 값으로 변환하면 변환된 문자열을 얻을 수 있습니다.

샘플 코드:

$str = "546869732069732061207465737420737472696e67";
$len = strlen($str);
$res = "";
for ($i = 0; $i < $len; $i += 2) {
    $res .= chr(hexdec(substr($str, $i, 2)));
}
echo $res;

실행 결과:

테스트 문자열입니다

위의 예에서는 먼저 16진수 문자열 $str을 두 개의 문자 그룹으로 분할했으므로 $ str의 길이는 짝수입니다. for 루프를 통해 각 그룹을 반복하고 hexdec() 함수를 호출하여 이를 십진수로 변환한 다음 chr() 함수를 호출하여 해당 문자로 변환하고 해당 문자를 $res 문자열에 추가합니다.

요약하자면, PHP는 16진수를 문자열로 변환하는 다양한 방법을 제공합니다. 개발자는 실제 필요에 따라 적절한 방법을 선택할 수 있습니다.

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

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