Aller au contenu
Décodeur PDU

Décodeur PDU en ligne pour messages SMS

Collez un PDU et lisez chaque champ : centre de services, expéditeur, horodatage, encodage, parties concaténées et état du rapport de livraison. Le décodage se fait dans votre navigateur.

Fonctionne dans ce navigateurSans compteSUBMIT, DELIVER, STATUS-REPORT

Décodez un PDU SMS en champs lisibles

Collez une trame de votre modem ou de votre outil de test. La page est construite en JavaScript local : aucun PDU n'est envoyé à un serveur.

Décodeur PDU

Hors ligne

Un modèle décrit la longueur de chaque champ. Laissez vide sauf si la détection automatique se trompe.

Les espaces et les retours à la ligne sont ignorés. Un PDU collé depuis le décodeur ci-dessus inclut son centre de services.

Champs décodés

Le texte, l'horodatage et la référence de concaténation sont affichés tels que la trame les porte. Le décodeur ne réécrit jamais l'entrée.

Le décodage s'exécute dans le navigateur. Vérifiez une trame que vous connaissez déjà si vous utilisez l'outil sans connexion.

Comment lire un PDU SMS-DELIVER

Une trame DELIVER transporte un message qui vous est arrivé. Le sens de ses champs diffère d'un SUBMIT.

Le SMS-DELIVER est défini dans la 3GPP TS 23.040. En mode texte (AT+CMGF=1), le modem affiche un numéro et une heure déjà décodés. En mode PDU (AT+CMGF=0), vous recevez la trame brute ; le décodeur applique les mêmes règles pour retrouver l'expéditeur, le horodatage du centre de services, l'alphabet, le texte et tout en-tête de concaténation.

Le décodage compte en octets, pas en caractères. Un octet de longueur de données utilisateur peut désigner des septets ou des octets selon l'alphabet, et un en-tête de concaténation placé avant le texte décale chaque caractère. L'outil lit cet en-tête en premier, puis décode le texte à l'endroit exact où il commence.

Deux pièges fréquents. Un SMS-DELIVER peut porter l'indicateur d'en-tête de données utilisateur dans son premier octet, et non la demande de rapport d'un SUBMIT. Et une période de validité peut être relative, améliorée ou absolue : un même octet prend un sens différent selon le modèle PDU.

Pourquoi décoder manuellement. Un texte brouillé, un horodatage erroné ou des parties hors séquence sont trois défauts distincts. Les afficher champ par champ montre lequel est faux avant de modifier la configuration du modem.

Structure des champs du SMS-DELIVER

ChampOctetsCe qu'il transporteCe que le décodeur fait
SCA1 + nCentre de services qui a remis le messageAffiche l'octet de longueur et l'adresse, ou « Aucun » pour 00
Premier octet1Type de message, indicateur d'en-tête de données utilisateur et remplacementLit le bit 0x40 pour l'UDH et le bit 0x08 pour le remplacement
OA2 + nAdresse de l'expéditeur, longueur, type et chiffres BCDAffiche le numéro avec le type d'adresse et le format alphanumérique éventuel
PID1Identifiant de protocoleAffiche la valeur hexadécimale, et si un UDH est présent
DCS1Alphabet et classe du messageAffiche GSM-7, 8 bits ou UCS-2, et la classe si elle est fournie
SCTS7Horodatage du centre de servicesConvertit les octets BCD en une date et heure locales avec le fuseau
UDL1Longueur des données utilisateurAffiche des septets en GSM-7, des octets en UCS-2
UDnUDH facultatif plus le texteRetire l'UDH, affiche l'en-tête, puis décode le texte

Un UDH commence par 05 00 03 xx yy zz pour une référence de 8 bits (total, numéro de séquence, référence) ; avec une référence de 16 bits, il commence par 06 08 04 xxxx yy zz. Le décodeur affiche les deux formes et reconstitue l'ordre des parties à partir du numéro de séquence.

Rapports de livraison SMS-STATUS-REPORT

Un rapport de statut décrit ce que le centre de services a fait d'un SMS-SUBMIT.

OctetStatutSignification
00LivréL'opérateur a remis le message à l'appareil du destinataire.
01ÉchecLa remise n'a pas abouti ; le motif plausible est un numéro invalide ou un destinataire injoignable.
02RejetéLe centre de services a refusé le message, souvent pour un problème de compte ou de routage.
03ExpiréLa période de validité est passée avant la remise.
04InconnuLe réseau ne donne aucun état définitif.

Les rapports de statut ne prouvent pas la lecture : ils prouvent seulement que le réseau a accepté ou remis le message. Les valeurs au-delà de 04 sont laissées telles quelles, car les opérateurs ajoutent leurs propres codes.

GSM-7, 8 bits et UCS-2 à la lecture

Un décodeur doit d'abord croire le DCS, puis vérifier le texte.

DCSAlphabetUnitéDécodage du texte
00GSM-7SeptetsÉchappement 1B appliqué, paires de substitution réduites
04, 08, 0C8 bitsOctetsTexte latin-1, avec précaution
F0 et masques8 bits, UCS-2Octets, unitésLes valeurs 0x08 et 0x0C signalent UCS-2 ; les autres restent en 8 bits

Tous les réseaux n'écrivent pas la valeur exacte que la TS 23.038 recommande. L'outil lit les bits d'alphabet avant de chercher une UDH, puis affiche toute ambiguïté au lieu de choisir à votre place.

Exemples résolus

Ces trames ont produit la sortie indiquée. L'hexadécimal attendu dans le registre de tests de l'encodeur est produit par une implémentation indépendante, et le décodeur lit le même texte dans les deux sens.

EntréeRésultat
000100098121436587F9000017C8329BFD064D9B5362999DB697E565B96BFC6E8700GSM-7, « Hello SMSDeliverer.com! », numéro national
000100098121436587F90000029B32GSM-7, « € », paire d'extension
000100098121436587F900080C60A8597DFF0C4E16754CFF01UCS-2, six caractères CJK

Le registre complet, y compris un vecteur défaillant d'une ancienne build, se trouve dans assets/js/tests/pdu-vectors.json. Les vecteurs qui échouent y restent visibles avec leur cause, plutôt que d'être retirés.

Quand décoder un PDU plutôt que faire confiance au texte

Le mode texte est plus rapide. Le PDU montre quand le modem ou le réseau interprète mal.

Parties manquantes

Un téléphone qui montre la partie 2 avant la partie 1 signale un UDH désordonné. La table des parties nomme la référence et la séquence.

Statuts

Un rapport de statut qui arrive sans texte reste lisible : la trame porte la référence du message et l'état du centre de services.

Contrôle de passerelle

Une trame qui sort d'un logiciel et une trame qui entre dans un modem sont comparables octet par octet. Le décodage montre l'écart avant qu'il ne devienne un ticket de support.

Décoder et encoder utilisent le même alphabet et les mêmes règles de concaténation. Un PDU produit par l'encodeur de ce site doit se décoder en un texte identique ; c'est le test le plus rapide avant de faire confiance à une passerelle personnalisée.

Besoin d'une solution automatisée ?

Cet outil est une référence, pas une file d'attente. SMS Deliverer lit les rapports de livraison de la même façon.

L'application Windows enregistre chaque rapport de livraison avec le contact, relance les parties en échec et affiche l'état par message sans qu'il faille coller un PDU. Elle utilise les cartes SIM de vos modems et ne dépend pas d'une plateforme cloud pour l'envoi.

L'encodeur PDU produit les trames que cette page lit ; le guide du modem GSM couvre le matériel et la page du logiciel de bureau les fonctions d'envoi et de rapport.

Ce que cet outil lit

  • SMS-DELIVER, SMS-SUBMIT et SMS-STATUS-REPORT
  • Horodatages du centre de services et fuseaux
  • En-têtes de concaténation de 8 et 16 bits
  • GSM-7, 8 bits et UCS-2
  • Codes d'état des rapports de livraison

Révisé en 2026-11. Un essai gratuit couvre l'envoi et les rapports de bout en bout ; cet outil ne demande ni licence ni installation.

Questions fréquentes avant achat

Quels types de PDU cet outil peut-il décoder ?

SMS-SUBMIT, SMS-DELIVER et SMS-STATUS-REPORT, y compris les variantes avec UDH, une période de validité absolue ou un codage inhabituel. Un modèle peut être fourni pour forcer une disposition de champs.

Pourquoi le texte décodé contient-il des caractères étranges ?

Le DCS peut signaler UCS-2 alors que le texte est en GSM-7, ou l'inverse. Le décodeur affiche l'alphabet retenu et le code DCS ; comparez-les avant de conclure, puis vérifiez la trame avec une valeur connue.

L'outil conserve-t-il mes PDU ?

Non. Tout s'exécute dans le navigateur et aucune trame n'est envoyée à un serveur.

Pourquoi une trame est-elle plus longue que mon texte ?

Un PDU porte le centre de services, l'adresse, les champs d'en-tête et l'en-tête de concaténation éventuel. En GSM-7, les caractères sont aussi compactés, donc la longueur en octets ne suit pas la longueur du texte.