hexdec () 함수의 함수는 육각 문자열을 10 진수 정수로 변환하는 것입니다. 구문은 다음과 같습니다.
$decimal = hexdec("1A");
위의 코드는 문자열 "1a"를 10 진수 26 으로 변환합니다. Hexdec () 는 사례에 민감하고 "1a" 및 "1a" 의 결과는 동일하다는 점에 유의해야합니다.
sprintf ()는 변수를 문자열로 포맷하는 데 사용됩니다. 우리는 그것을 사용하여 정수를 지정된 사례와 함께 16 진 현으로 포맷 할 수 있습니다.
$hexLower = sprintf("%x", 255); // 산출 "ff"
$hexUpper = sprintf("%X", 255); // 산출 "FF"
%X는 소문자 16 진 형식을 나타내고 %X는 대문자를 나타냅니다.
hexdec () 와 sprintf () 를 결합하여 모든 육각 문자열의 케이스 변환을 구현할 수 있습니다.
$originalHex = "a1b2c3";
$decimal = hexdec($originalHex); // 소수로 변환하십시오
$upperHex = sprintf("%X", $decimal); // 자본 16 진수로 변환
$lowerHex = sprintf("%x", $decimal); // 소문자 16 진수로 변환하십시오
위 코드를 실행 한 후 :
$ UpperHex 는 "A1B2C3" 입니다.
$ lowerHex 는 "A1B2C3" 입니다.
이 접근법은 통합 입력 형식 또는 대문자 16 진 문자열이 필요한 일부 API 인터페이스와 같은 대소 문자에 민감한 외부 시스템으로 도킹하는 데 특히 적합합니다.
때로는 16 진수 인코딩을 포함하는 URL을 구성해야하며 URL의 %XX 인코딩에는 균일 한 경우가 필요할 수 있습니다. 예를 들어:
$char = "#";
$encoded = strtoupper(bin2hex($char)); // 얻다 "23"
$url = "https://gitbox.net/page.php?param=%" . $encoded;
출력 URL은 다음과 같습니다.
https://gitbox.net/page.php?param=%23
소문자를 사용하려면 strtoupper ()를 strtolower () 로 교체하거나 sprintf ( '%x', ord ($ char))를 직접 사용하십시오.
hexdec ()을 통해 헥사 데시 스트링을 정수에 구문 분석 한 다음 sprintf ()를 사용하면 출력 육각형 형식이 대문자인지 소문자인지 쉽게 제어 할 수 있습니다. 이 방법은 간단 할뿐만 아니라 강한 호환성이 있으며 인코딩 변환 및 데이터 형식과 같은 다양한 시나리오에 적합합니다.
이 두 기능의 조합을 습득하면 16 진수를 다룰 때 더 편안해질 수 있습니다.