本文へスキップ
PDUデコーダー

SUBMIT・DELIVER・STATUS-REPORT用オンラインPDUデコーダー

PDUを貼り付けて、項目ごとに読みます。サービスセンター、アドレス、文字コード、タイムスタンプ、連結、デコードした本文。項目が壊れている場合は、空の画面ではなくその名前を示します。

SUBMIT、DELIVER、STATUS-REPORT複数パートに対応オフラインで動作

ブラウザでPDUをデコード

入力欄にはエンコーダーのSMS-SUBMITフレームが入っています。任意のフレームを貼り付けて「デコード」を押し、下の項目を読んでください。

PDUデコーダー

ネットワーク不要

空白は無視します。複数のPDUは空行、またはエンコーダーの----- PDU n/total -----マーカーで区切ってください。

デコードされた項目

本文、タイムスタンプ、連結参照は、フレームが運ぶとおりに表示します。デコーダーが入力を書き換えることはありません。

サーバーへは何も送信しません。フレームはこのページのJavaScriptが読むため、個人のメッセージ保存領域から取り出したPDUもお手元にとどまります。

テキストモードとPDUモード

同じメッセージでも、どちらのモードで記録したかによって見え方が変わります。

見えるものテキストモードの結果PDUモードの結果
本文読める文字16進のオクテット。本文は詰め込まれるか、上位バイトから符号化される
文字コードモデムが選ぶデータ符号化方式のオクテットに明示される
長いメッセージ分割をモデムが隠すUDHが参照番号、パート番号、総数を示す
タイムスタンプ表示される場合はローカル形式タイムゾーンのオクテット付きのサービスセンター時刻
配信レポート要約された形2つの時刻と結果オクテットを持つ完全な状態フレーム

テキストモードは人が読む形でメッセージを示します。PDUモードはネットワークが保存する形で示します。何かが動かないとき、どの項目が誤っているかを教えるのは後者です。

SMS-DELIVERの項目構成

受信メッセージは宛先と有効期限を持たず、代わりにタイムスタンプを持ちます。

項目オクテット内容
SCA1 + nメッセージを処理したサービスセンター。00はフレームが省略していることを示す
先頭オクテット1メッセージ種別、「続きがある」標識、データヘッダーの標識
送信者2 + n送信元アドレス。国際番号は91
PID1プロトコル識別子
DCS1アルファベット、クラス、圧縮ビット
SCTS7サービスセンターのタイムスタンプ:年、月、日、時、分、秒、タイムゾーン
UDL1GSM-7はセプテット数、UCS-2はオクテット数
UDn任意のUDHと本文

タイムスタンプはUnix値ではありません。日付の各項目は半バイトを入れ替えた10進数字で、最後のオクテットがUTCからの15分単位のオフセットを運びます。

STATUS-REPORTの項目

状態レポートはユーザーデータを2つのタイムスタンプと結果コードに置き換えます。

項目オクテット内容
先頭オクテット1メッセージ種別02と、設定されていればレポート修飾子の標識
MR1送信時に端末が返したメッセージ参照
宛先2 + nメッセージを送った番号
SCTS7サービスセンターがメッセージを受け取った時刻
配送時刻7サービスセンターが配送した時刻。同じタイムスタンプ形式
状態100–1F配送済み、20–3F一時的なエラーで再試行中、40–5F永続的なエラー、60–7F一時的なエラーで再試行を終了

状態レポートにユーザーデータはありません。これらの項目より長いフレームでは、余分なオクテットをデコードせず警告として表示します。

デコードできない例

失敗の多くは壊れたメッセージではなくコピーの誤りです。デコーダーは読めなかった項目の名前を示します。

入力メッセージ何が問題か
00110009812143アドレスが宣言された長さより短い。宛先の長さは9桁を指しますが、続くのは2オクテットだけです。
0011A16進の長さが奇数(5半バイト)。PDUはバイト単位である必要があります。コピー時に1文字失われ、最後のバイトが不完全です。
004100098121436587F9000006070003010201UDHの長さ7がユーザーデータを超える。データヘッダーの長さオクテットが、フレームが運ぶより多くのバイトを約束しています。

デコーダーはほかにも、サービスセンターの長さが入力の末尾を超えるフレーム、途中で切れたアドレス、切り詰められたタイムスタンプ、別種のメッセージであるSMS-COMMANDを拒否します。8ビットの符号化方式は架空の文字ではなくバイト数として表示します。未知の拡張文字と単独のエスケープは警告付きで捨て、メッセージ全体を雑音に変えません。

この3つの入力は、エンコーダーと同じ回帰テストファイルの一部です。想定エラーはそれぞれ部分文字列として保存されるため、デコーダーの文言を変えても気づかれずに通ることはありません。

自動化が必要ですか

このページは1つのフレームを調べるためのものです。メッセージの流れにはSMS Delivererを使ってください。

Windowsアプリは受信をデコードし、複数パートのフレームを組み立て、送信者と時刻を保存し、配信レポートを元の送信のそばに保ちます。同じ解析器をデスクトップ画面とローカルHTTP APIが使うため、どこで読んでもメッセージは同じに見えます。

ハードウェア側はGSMモデムの解説から、受信機能はWindows版ソフトのページから、テスト用フレームの作成はPDUエンコーダーから始めてください。

対応するフレーム

  • SMS-SUBMIT(連結パートを含む)
  • タイムスタンプと送信者付きのSMS-DELIVER
  • 2つのタイムスタンプを持つSMS-STATUS-REPORT
  • GSM-7、拡張文字、UCS-2
  • 8ビットUDH、16ビット参照、ポート宛先

2026-11に確認。SMS-COMMANDは意図的に拒否します。メッセージの通信ではないためです。

購入者がよく尋ねる質問

デコーダーがサービスセンターなしと表示するのはなぜですか?

先頭の00は、フレームにサービスセンターのアドレスがないことを意味し、端末やモデムがSIMに書かれた値を使います。フレームの残りは通常どおりデコードされます。

配信レポートや複数パートのメッセージも読めますか?

はい。SMS-STATUS-REPORTは2つのタイムスタンプと状態オクテットを表示します。複数パートのメッセージではUDHを読み、各パートの参照番号、順序番号、総数を示します。

メッセージの一部がバイナリデータと表示されるのはなぜですか?

そのフレームのデータ符号化方式が、文字ではなく8ビットデータを宣言しているためです。デコーダーはオクテット数を示し、存在しない文字を創作しません。

デコーダーはPDUをどこかへ送りますか?

いいえ。解析はこのブラウザ内で行います。オフラインでも動作するため、個人的な番号や内容を含むメッセージでも安全です。