日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GSM短信收发介绍

發布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GSM短信收发介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、短消息收發的實現模式

  Gsm收發短消息又分三種模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK 模式現在用的很少了;TEXT 模式則只能發送ASCII 碼,它不能發送中文的UNICODE碼(確切地講,從技術上來說是可以用于發送中文短消息的,但是國內的手機基本上不支持);而PDU 模式開發起來則較為復雜,它需要編寫專門的函數來將文本轉換為PDU 格式,但PDU 模式被所有手機支持,可以使用任何字符集,它也是手機默認的編碼方式。

2、PDU 模式詳細介紹

  用PDU 模式收發短消息可以使用三種編碼: 7-bit 編碼、8-bit 編碼和UCS2 編碼。7-bit編碼用于發送普通的ASCII字符;8-bit 編碼通常用于發送數據消息,如圖片或鈴聲等;UCS2編碼用于發送Unicode 字符。由于我們在系統中要實現中文短消息的發送,所以選擇用UCS2編碼,即中文Unicode 碼。

 2.1 UCS2 編碼原理

  所謂UCS2 編碼,是將單個的字符(1-2 個字節)按ISO/IEC10646 的規定,轉變為16 位的Unicode 寬字符。即將單個的字符轉換為由四位的‘0’-‘9’、‘A’-‘F’的數字和字母組成的字符串。待發送的消息以UCS2 碼的形式進行發送。

 2.2 發送PDU 串的結構分析

  通過UCS2 編碼我們得到中文Unicode 碼,接著就可以進行發送PDU 串的編制了。從表面上看,PDU 串是ASCII 碼串,同樣由‘0’-‘9’、‘A’-‘F’這些數字和字母組成。它們是8 位字節的十六進制數,或者BCD 碼十進制數。PDU 串除了包含所發送的消息本身外,還包含很多其它參數信息,如服務中心號碼、目標號碼和編碼方式等。現用一個實例說明發送PDU 串的結構和編排方式。
  例:08 91 683108100005F0 31 00 0D 91 683119109991F2 00 08 C2 06 60A8597DFF01
  分段含義解釋說明
  08 SMSC 地址信息的長度共8 個八位字節(包括91)
  91 SMSC 地址格式(TON/NPI) 用國際格式號碼(在前面加‘+’)
  68 31 08 10 00 05 F0 SMSC 地址8613800100500,補‘F’湊成偶數個
  31 基本參數(TP-MTI/VFP) 要求發送回復
  00 消息基準值(TP-MR) 0
  0D 目標地址數字個數共13 個十進制數
  91 目標地址格式(TON/NPI)
  A1:國內格式
  91:國際格式
  81:未知,+86 可帶可不帶。
  683119109991F2 目標地址(TP-DA) 8613910199192,補‘F’湊成偶數個
  00 協議標識(TP-PID) 是普通GSM 類型,點到點方式
  08 用戶信息編碼方式
  (TP-DCS)
  00:表示7-bit 編碼, 08:表示UCS2 編碼,
  04:表示8-bit 編碼。
  C2 有效期(TP-VP) 5 分鐘
  06 用戶信息長度(TP-UDL) 實際長度6 個字節
  60 A8 59 7D FF 01 用戶信息(TP-UD) “您好!”
  這里需要注意的幾點:
  ①比較SMSC 地址分段:68 31 08 10 00 05 F0 與真實SMSC 地址8613800100500F(為
了湊足14 位,在末尾補F),不難發現只需將前者奇偶位對調即可得到后者。同樣,目標地址分段683119109991F2 與實際目標地址13910199192F 之間的關系也是如此。
  ②若“SMSC 地址信息的長度”分段的值為00,則意味著SMSC 地址字符串的長度為零,PDU 串的“SMSC 地址格式”段和“SMSC 地址”段將省去。且將使用SIM 卡設置的SMSC 地址。
上例中的PDU 串變為:00 31 00 0D 91 683119109991F2 00 08 C2 06 60A8597DFF01
  ③.對于用戶信息長度,可通過VB 中的Len 函數求得,如“您好!”,用Len(“您好!”)
得到是3,那么3*2=6 即為用戶信息長度06(這里要轉換為16 進制,并且是兩位)。
④用戶信息(TP-UD)段最大容量是140 字節,所以在UCS2 編碼方式下,可發送短消息的最大字符數是70 個。

 2.3 接收pdu串的結構分析

  接收PDU 串和發送PDU 串結構是不完全相同的。通過一個實例來分析,假定收到的短消息其PDU 串為:08 91 68 31 08 10 00 05 F0 04 0D 91 68 31 19 10 99 91 F2 00 08 40 40 60 31 35 30 23 06 60 A8 59 7D FF 01
  參照規范,具體分析:
  分段含義解釋說明
  08 SMSC 地址信息的長度共8 個八位字節(包括91)
  91 SMSC 地址格式(TON/NPI) 用國際格式號碼(在前面加‘+’)
  68 31 08 10 00 05 F0 SMSC 地址8613800100500,補‘F’湊成偶數個
  84 基本參數(TP-MTI/MMS/RP) 接收,無更多消息,有回復地址
  0D 回復地址數字個數共13 個十進制數(不包括91 和‘F’)
  91 回復地址格式(TON/NPI) 國際格式
  68 31 19 10 99 91 F2 回復地址(TP-RA) 8613910199192,補‘F’湊成偶數個
  00 協議標識(TP-PID) 是普通GSM 類型,點到點方式
  08 用戶信息編碼方式(TP-DCS) UCS2 編碼
  40 90 10 31 35 30 23 服務時間戳(TP-SCTS) 2004-09-01 13:53:03
  06 用戶信息長度(TP-UDL) 實際長度6 個字節
  60 A8 59 7D FF 01 用戶信息(TP-UD) “您好!”
  通過分析,我們可以獲取其中的有用信息。如:短信服務中心號碼是+8613800100500,發送方號碼是13910199192,發來的消息內容是“您好!”,以及發送時間是:2004-09-01 13:53:03。

總結

以上是生活随笔為你收集整理的GSM短信收发介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。