Position actuelle: Accueil> Derniers articles> Utilisez HexDec pour analyser les encodages dans des codes QR ou des codes à barres

Utilisez HexDec pour analyser les encodages dans des codes QR ou des codes à barres

gitbox 2025-05-26

Lors du traitement des données de code QR ou de code-barres, nous rencontrons souvent des chaînes hexadécimales codées codées. Afin de restaurer ces informations codées sur des données lisibles, PHP offre une fonction très pratique - hexdec () . Cet article expliquera comment utiliser la fonction hexdec () pour analyser les informations Hexcode dans les codes QR ou les codes à barres.

1. Introduction à la fonction hexdec ()

La fonction hexdec () dans PHP est utilisée pour convertir une chaîne hexagonale en un numéro décimal. Ceci est très utile pour l'analyse des encodages contenant des informations numériques, en particulier lorsqu'il s'agit de données sous-jacentes de codage ou de protocole.

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

Cette fonction accepte un paramètre de chaîne hexadécimal (n'a pas besoin de commencer par 0x ) et renvoie la valeur entière décimale correspondante.

2. Source de codage hexadécimal du code QR ou du code-barres

Dans certains systèmes, un code QR ou un code-barres comprime les informations dans une série de caractères hexadécimaux. Par exemple, certains systèmes de paiement ou balises logistiques peuvent contenir des informations codées comme celle-ci:

 3031323334

C'est en fait la forme ascii codée en hexadécimal: 30 est 0 , 31 est 1 , etc. Par conséquent, nous devons analyser tous les deux personnages en tant que numéro hexadécimal et les retourner vers les personnages.

3. Utilisez HexDec pour décoder le code / code-barres QR

Supposons que vous ayez scanné une chaîne de codes hexadécimaux du code QR:

 $hexString = '3435363738'; // exprimer "45678"

Nous pouvons écrire le code suivant pour restaurer la chaîne d'origine:

 $hexString = '3435363738';
$decoded = '';
for ($i = 0; $i < strlen($hexString); $i += 2) {
    $hexPair = substr($hexString, $i, 2);
    $decimal = hexdec($hexPair);
    $decoded .= chr($decimal);
}
echo $decoded; // Sortir: 45678

Ce processus convertit tous les deux caractères en décimal en les convertissant de l'hexadécimal à décimal, puis en utilisant Chr () pour les restaurer en caractères. Idéal pour restaurer des numéros de texte ou d'identification intégrés dans les codes QR.

4. Exemples de scénarios d'application pratiques

Par exemple, si vous utilisez un scanner de code-barres pour collecter des données, vous renverrez le contenu suivant:

 url:68747470733a2f2f676974626f782e6e65742f646f776e6c6f61642f66696c652e706466

Le préfixe de caractère de chaîne est URL : , suivi d'une URL codée hexadécimale. Nous pouvons l'analyser avec la méthode suivante:

 $encodedUrl = '68747470733a2f2f676974626f782e6e65742f646f776e6c6f61642f66696c652e706466';
$url = '';
for ($i = 0; $i < strlen($encodedUrl); $i += 2) {
    $url .= chr(hexdec(substr($encodedUrl, $i, 2)));
}
echo $url; 
// Sortir: https://gitbox.net/download/file.pdf

De cette façon, vous pouvez facilement extraire l'adresse complète de l'URL, le numéro de produit, les informations logistiques, etc. à partir du code-barres.

5. Résumé

Dans l'analyse des codes QR et des codes à barres, le codage hexadécimal est une méthode courante d'encapsulation des données. La fonction hexdec () de PHP combinée à la fonction chr () peut restaurer efficacement ces informations codées en contenu lisible. Dans les projets réels, cette technologie est l'un des outils indispensables, qu'il s'agisse de suivi logistique, de systèmes de paiement ou de lecture d'étiquette de produit. La maîtrise de cette méthode de décodage vous aidera à comprendre et à traiter plus profondément les données codées sous-jacentes.