PHP는 웹 개발에 널리 사용되는 강력한 서버 측 스크립팅 언어입니다. PHP 개발 과정에서 데이터 변환 및 처리를 처리해야 하는 경우가 종종 있습니다. 이 글에서는 16진수 데이터를 배열로 변환하는 방법을 소개합니다.
먼저 16진수가 무엇인지 이해해야 합니다. 간단히 말해서 16진수는 16개의 숫자, 즉 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F를 사용하는 숫자 체계입니다. . 그 중 A~F는 각각 10~15를 의미합니다.
PHP에서는 hex2bin() 함수를 사용하여 16진수를 문자열로 변환할 수 있습니다. 예를 들어 다음 코드는 16진수 문자열 "48656C6C6F20576F726C64"를 "Hello World" 문자열로 변환합니다.
echo hex2bin("48656C6C6F20576F726C64");
다음으로 문자열을 배열로 변환해야 합니다. str_split() 함수를 사용하여 문자열을 개별 문자로 분할한 다음 ord() 함수를 사용하여 문자를 ASCII 코드로 변환할 수 있습니다. 예를 들어, 다음 코드는 문자열 "Hello World"를 정수 배열로 분할합니다.
$str = "Hello World"; $chars = str_split($str); $nums = array(); foreach ($chars as $char) { $nums[] = ord($char); } print_r($nums);
출력은 다음과 같습니다.
Array ( [0] => 72 [1] => 101 [2] => 108 [3] => 108 [4] => 111 [5] => 32 [6] => 87 [7] => 111 [8] => 114 [9] => 108 [10] => 100 )
16진수 문자열을 문자열로 변환한 경우 위의 두 코드 조각 사용을 결합할 수 있습니다. 예를 들어 다음 코드는 16진수 문자열 "48656C6C6F20576F726C64"를 정수 배열로 변환합니다.
$hex_str = "48656C6C6F20576F726C64"; $str = hex2bin($hex_str); $chars = str_split($str); $nums = array(); foreach ($chars as $char) { $nums[] = ord($char); } print_r($nums);
출력 결과는 다음과 같습니다.
Array ( [0] => 72 [1] => 101 [2] => 108 [3] => 108 [4] => 111 [5] => 32 [6] => 87 [7] => 111 [8] => 114 [9] => 108 [10] => 100 )
위 방법을 사용하는 것 외에도 unpack() 함수를 사용할 수도 있습니다. unpack() 함수는 문자열을 여러 값으로 풀어서 연관 배열이나 숫자로 인덱스된 배열을 반환할 수 있습니다. H* 형식 지정 문자를 사용할 수 있습니다. 이는 16진수 문자열을 16진수 숫자로 변환하고 이를 2진수 문자열로 패키징하는 것을 의미합니다. 예를 들어 다음 코드는 16진수 문자열 "48656C6C6F20576F726C64"를 정수 배열로 변환합니다.
$hex_str = "48656C6C6F20576F726C64"; $bin_str = pack("H*", $hex_str); $nums = unpack("C*", $bin_str); print_r($nums);
출력 결과는 다음과 같습니다.
Array ( [1] => 72 [2] => 101 [3] => 108 [4] => 108 [5] => 111 [6] => 32 [7] => 87 [8] => 111 [9] => 114 [10] => 108 [11] => 100 )
unpack() 함수를 사용하는 것이 더 간결하고 효율적이지만 unpack( ) 함수 함수 이름의 별표(*)는 모든 형식이 아닌 모든 요소의 압축을 푼다는 의미입니다.
요약: 이 글에서는 16진수 데이터를 배열로 변환하는 방법을 소개합니다. hex2bin() 함수를 사용하여 16진수를 문자열로 변환한 다음 str_split() 함수를 사용하여 이를 개별 문자로 분할하고 마지막으로 ord() 함수를 사용하여 문자를 ASCII 코드로 변환할 수 있습니다. 이 외에도 unpack() 함수를 사용하여 보다 효율적으로 변환을 수행할 수도 있습니다. 이러한 방법은 실제 개발에 매우 유용할 것입니다.
위 내용은 PHP에서 16진수 데이터를 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!