現在の位置: ホーム> 最新記事一覧> hexdecを使用して、QRコードまたはバーコードでエンコーディングを解析する

hexdecを使用して、QRコードまたはバーコードでエンコーディングを解析する

gitbox 2025-05-26

QRコードまたはバーコードデータを処理する場合、エンコードされた16進文字列に遭遇することがよくあります。このエンコードされた情報を読み取り可能なデータに復元するために、PHPは非常に実用的な機能-HexDec()を提供します。この記事では、hexDec()関数を使用してQRコードまたはバーコードでヘクスコード情報を解析する方法について説明します。

1。HEXDEC()関数の紹介

PHPのHexDec()関数は、16進ストリングを小数点以下数に変換するために使用されます。これは、特に基礎となるエンコードまたはプロトコルデータを扱う場合、数値情報を含むエンコーディングを解析するのに非常に役立ちます。

 $hex = '1A';
$decimal = hexdec($hex);
echo $decimal; // 出力 26

この関数は、16進の文字列パラメーター( 0xから開始する必要はありません)を受け入れ、対応する10進整数値を返します。

2。QRコードまたはバーコードの16進コードのソース

一部のシステムでは、QRコードまたはバーコードが情報を一連の16進数文字に圧縮します。たとえば、一部の支払いシステムまたはロジスティクスタグには、次のようなコード化された情報が含まれている場合があります。

 3031323334

これは、実際には16進数でエンコードされたASCIIの形式です。300、311などです。したがって、2つのキャラクターごとに16進数として解析し、キャラクターに戻す必要があります。

3. hexdecを使用して、QRコード/バーコードをデコードします

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

このプロセスは、2つのキャラクターごとにヘキサデシマルから小数に変換し、 Chr()を使用してキャラクターに復元することにより、小数に変換します。 QRコードに組み込まれたテキストまたはID番号の復元に最適です。

4。実用的なアプリケーションシナリオの例

たとえば、バーコードスキャナーを使用してデータを収集する場合、次のコンテンツを返します。

 url:68747470733a2f2f676974626f782e6e65742f646f776e6c6f61642f66696c652e706466

文字列文字のプレフィックスは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アドレス、製品番号、物流情報などを簡単に抽出できます。

5。概要

QRコードとバーコードの分析では、16進コードのエンコードは、データカプセル化の一般的な方法です。 PHPのHexDec()関数とChr()関数を組み合わせて、これらのエンコードされた情報を読み取り可能なコンテンツに効率的に復元できます。実際のプロジェクトでは、このテクノロジーは、ロジスティクス追跡、支払いシステム、製品ラベルの読み取りなど、不可欠なツールの1つです。このデコード方法を習得すると、基礎となるエンコードされたデータをより深く理解して処理できます。