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.
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 ligneChamps 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
| Champ | Octets | Ce qu'il transporte | Ce que le décodeur fait |
|---|---|---|---|
| SCA | 1 + n | Centre de services qui a remis le message | Affiche l'octet de longueur et l'adresse, ou « Aucun » pour 00 |
| Premier octet | 1 | Type de message, indicateur d'en-tête de données utilisateur et remplacement | Lit le bit 0x40 pour l'UDH et le bit 0x08 pour le remplacement |
| OA | 2 + n | Adresse de l'expéditeur, longueur, type et chiffres BCD | Affiche le numéro avec le type d'adresse et le format alphanumérique éventuel |
| PID | 1 | Identifiant de protocole | Affiche la valeur hexadécimale, et si un UDH est présent |
| DCS | 1 | Alphabet et classe du message | Affiche GSM-7, 8 bits ou UCS-2, et la classe si elle est fournie |
| SCTS | 7 | Horodatage du centre de services | Convertit les octets BCD en une date et heure locales avec le fuseau |
| UDL | 1 | Longueur des données utilisateur | Affiche des septets en GSM-7, des octets en UCS-2 |
| UD | n | UDH facultatif plus le texte | Retire 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.
| Octet | Statut | Signification |
|---|---|---|
00 | Livré | L'opérateur a remis le message à l'appareil du destinataire. |
01 | Échec | La remise n'a pas abouti ; le motif plausible est un numéro invalide ou un destinataire injoignable. |
02 | Rejeté | Le centre de services a refusé le message, souvent pour un problème de compte ou de routage. |
03 | Expiré | La période de validité est passée avant la remise. |
04 | Inconnu | Le 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.
| DCS | Alphabet | Unité | Décodage du texte |
|---|---|---|---|
00 | GSM-7 | Septets | Échappement 1B appliqué, paires de substitution réduites |
04, 08, 0C | 8 bits | Octets | Texte latin-1, avec précaution |
F0 et masques | 8 bits, UCS-2 | Octets, unités | Les 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ée | Résultat |
|---|---|
| 000100098121436587F9000017C8329BFD064D9B5362999DB697E565B96BFC6E8700 | GSM-7, « Hello SMSDeliverer.com! », numéro national |
| 000100098121436587F90000029B32 | GSM-7, « € », paire d'extension |
| 000100098121436587F900080C60A8597DFF0C4E16754CFF01 | UCS-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.