Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP bin2hex() 함수 – 문자열을 16진수로 변환하는 방법

PHP의 bin2hex() 함수는 문자열 데이터를 16진수(hexadecimal) 표현으로 변환하는 데 사용되는 내장 함수입니다. 이 함수는 ASCII 문자로 이루어진 문자열을 각 문자에 해당하는 16진수 값으로 변환해 주며, 결과로 반환되는 문자열의 길이는 원본 문자열의 두 배가 됩니다. 각 문자(바이트)가 두 자리 16진수로 표현되기 때문입니다.

문법

bin2hex(str)

매개변수

  • str − 16진수로 변환할 문자열입니다.

반환 값

bin2hex() 함수는 입력받은 ASCII 문자열을 각 문자에 대응하는 16진수 값으로 변환하여 반환합니다. 예를 들어 영문자 'A'는 0x41, 숫자 '0'은 0x30과 같이 ASCII 코드 기준으로 변환됩니다.

예제 1

다음은 "Welcome!" 문자열을 16진수로 변환하는 예제입니다.

<?php
   $s = bin2hex("Welcome!");
   echo($s); 
?>

실행 결과는 다음과 같습니다.

출력

57656c636f6d6521

위 결과에서 'W'는 0x57, 'e'는 0x65, 'l'은 0x6c처럼 각 문자가 하나씩 16진수 코드로 변환된 것을 확인할 수 있습니다.

예제 2

이번에는 숫자로 이루어진 문자열 "1011"을 변환해 보겠습니다.

<?php
   $val = bin2hex("1011");
   echo($val); 
?>

실행 결과는 다음과 같습니다.

출력

31303131

여기서 "1011"은 숫자가 아닌 문자열로 취급됩니다. 따라서 각 문자 '1'은 0x31, '0'은 0x30으로 변환되어 "31303131"이 출력됩니다.

bin2hex() 함수의 활용 분야

bin2hex() 함수는 다음과 같은 상황에서 유용하게 사용됩니다.

  • 바이너리 데이터를 안전하게 출력하거나 데이터베이스에 저장할 때
  • 데이터 무결성 검증을 위해 해시 값을 비교할 때
  • 네트워크 전송 과정에서 특수 문자나 바이너리 데이터를 인코딩할 때

반대로 16진수 문자열을 다시 원래의 바이너리 데이터로 되돌리려면 PHP에서 제공하는 hex2bin() 함수를 사용하면 됩니다. 두 함수는 서로 반대되는 동작을 수행하므로 함께 익혀두면 좋습니다.