QR 코드 또는 바코드 데이터를 처리 할 때 종종 인코딩 된 16 진 문자열이 발생합니다. 이 인코딩 된 정보를 읽을 수있는 데이터로 복원하기 위해 PHP는 매우 실용적인 기능인 hexdec () 를 제공합니다. 이 기사에서는 QR 코드 또는 바코드에서 hexcode 정보를 구문 분석하기 위해 Hexdec () 함수를 사용하는 방법을 설명합니다.
PHP의 hexdec () 함수는 육각 문자열을 10 진수로 변환하는 데 사용됩니다. 이는 특히 기본 인코딩 또는 프로토콜 데이터를 처리 할 때 수치 정보를 포함하는 인코딩을 구문 분석하는 데 매우 유용합니다.
$hex = '1A';
$decimal = hexdec($hex);
echo $decimal; // 산출 26
이 함수는 16 진 문자열 매개 변수 ( 0x 로 시작할 필요가 없음)를 허용하고 해당 소수 정수 값을 반환합니다.
일부 시스템에서 QR 코드 또는 바코드는 정보를 일련의 16 진 문자로 압축합니다. 예를 들어, 일부 결제 시스템 또는 물류 태그에는 다음과 같은 코딩 된 정보가 포함될 수 있습니다.
3031323334
이것은 실제로 16 진수로 인코딩 된 ASCII 형식입니다. 30 은 0 , 31 은 1 등입니다. 따라서 두 문자를 16 진수로 구문 분석하고 캐릭터로 다시 돌려야합니다.
QR 코드에서 16 진 코드 문자열을 스캔했다고 가정합니다.
$hexString = '3435363738'; // 표현하다 "45678"
원래 문자열을 복원하기 위해 다음 코드를 작성할 수 있습니다.
$hexString = '3435363738';
$decoded = '';
for ($i = 0; $i < strlen($hexString); $i += 2) {
$hexPair = substr($hexString, $i, 2);
$decimal = hexdec($hexPair);
$decoded .= chr($decimal);
}
echo $decoded; // 산출: 45678
이 프로세스는 16 진수에서 10 진수로 변환하여 두 문자를 10 진수로 변환 한 다음 chr ()를 사용하여 문자로 복원합니다. QR 코드에 포함 된 텍스트 또는 ID 번호를 복원하는 데 이상적입니다.
예를 들어, 바코드 스캐너를 사용하여 데이터를 수집하면 다음 내용을 반환합니다.
url:68747470733a2f2f676974626f782e6e65742f646f776e6c6f61642f66696c652e706466
문자열 문자 접두사는 URL : , 다음 16 진수 인코딩 URL입니다. 다음 방법으로 구문 분석 할 수 있습니다.
$encodedUrl = '68747470733a2f2f676974626f782e6e65742f646f776e6c6f61642f66696c652e706466';
$url = '';
for ($i = 0; $i < strlen($encodedUrl); $i += 2) {
$url .= chr(hexdec(substr($encodedUrl, $i, 2)));
}
echo $url;
// 산출: https://gitbox.net/download/file.pdf
이러한 방식으로 바코드에서 전체 URL 주소, 제품 번호, 물류 정보 등을 쉽게 추출 할 수 있습니다.
QR 코드 및 바코드의 분석에서, 16 진수 인코딩은 데이터 캡슐화의 일반적인 방법입니다. Chr () 함수와 결합 된 PHP의 HEXDEC () 함수는 이러한 인코딩 된 정보를 읽을 수있는 컨텐츠로 효율적으로 복원 할 수 있습니다. 실제 프로젝트 에서이 기술은 물류 추적, 결제 시스템 또는 제품 레이블 판독 값 등 필수 도구 중 하나입니다. 이 디코딩 방법을 마스터하면 기본 인코딩 된 데이터를보다 깊이 이해하고 처리하는 데 도움이됩니다.