金笛后花園

金笛工業(yè)手機(jī)官方博客

金笛只為您,一切全為您

PDU短信編碼規(guī)則

目前,發(fā)送短消息常用Text和PDU(Protocol Data Unit,協(xié)議數(shù)據(jù)單元)模式。

使用Text模式收發(fā)短信代碼簡(jiǎn)單,實(shí)現(xiàn)起來(lái)十分容易,但最大的缺點(diǎn)是不能收發(fā)中文短信;而PDU模式不僅支持中文短信,也能發(fā)送英文短信。

PDU模式收發(fā)短信可以使用3種編碼:7-bit、8-bit和UCS2編碼。7-bit編碼用于發(fā)送普通的ASCII字符,8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,UCS2編碼用于發(fā)送Unicode字符。一般的PDU編碼由A B C D E F G H I J K L M十三項(xiàng)組成。

A:短信息中心地址長(zhǎng)度,2位十六進(jìn)制數(shù)(1字節(jié))。

B:短信息中心號(hào)碼類型,2位十六進(jìn)制數(shù)。

C:短信息中心號(hào)碼,B+C的長(zhǎng)度將由A中的數(shù)據(jù)決定。

D:文件頭字節(jié),2位十六進(jìn)制數(shù)。

E:信息類型,2位十六進(jìn)制數(shù)。

F:被叫號(hào)碼長(zhǎng)度,2位十六進(jìn)制數(shù)。

G:被叫號(hào)碼類型,2位十六進(jìn)制數(shù),取值同B。

H:被叫號(hào)碼,長(zhǎng)度由F中的數(shù)據(jù)決定。

I:協(xié)議標(biāo)識(shí),2位十六進(jìn)制數(shù)。

J:數(shù)據(jù)編碼方案,2位十六進(jìn)制數(shù)。

K:有效期,2位十六進(jìn)制數(shù)。

L:用戶數(shù)據(jù)長(zhǎng)度,2位十六進(jìn)制數(shù)。

M:用戶數(shù)據(jù),其長(zhǎng)度由L中的數(shù)據(jù)決定。

J中設(shè)定采用UCS2編碼,這里是中英文的Unicode字符。

PDU編碼協(xié)議簡(jiǎn)單說(shuō)明

例1 發(fā)送:SMSC號(hào)碼是+8613800250500,對(duì)方號(hào)碼是13693092030,消息內(nèi)容是“Hello!”。從手機(jī)發(fā)出的PDU串可以是08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 96 03 29 30 F0 00 00 00 06 C8 32 9B FD 0E 01對(duì)照規(guī)范,具體分析:分段 含義 說(shuō)明08 SMSC地址信息的長(zhǎng)度 共8個(gè)八位字節(jié)(包括91)91 SMSC地址格式(TON/NPI) 用國(guó)際格式號(hào)碼(在前面加‘+’)68 31 08 20 05 05 F0 SMSC地址 8613800250500,補(bǔ)‘F’湊成偶數(shù)個(gè)11 基本參數(shù)(TP-MTI/VFP) 發(fā)送,TP-VP用相對(duì)格式00 消息基準(zhǔn)值(TP-MR) 00D 目標(biāo)地址數(shù)字個(gè)數(shù) 共13個(gè)十進(jìn)制數(shù)(不包括91和‘F’)91 目標(biāo)地址格式(TON/NPI) 用國(guó)際格式號(hào)碼(在前面加‘+’)68 31 96 03 29 30 F0 目標(biāo)地址(TP-DA) 8613693092030,補(bǔ)‘F’湊成偶數(shù)個(gè)00 協(xié)議標(biāo)識(shí)(TP-PID) 是普通GSM類型,點(diǎn)到點(diǎn)方式00 用戶信息編碼方式(TP-DCS) 7-bit編碼00 有效期(TP-VP) 5分鐘06 用戶信息長(zhǎng)度(TP-UDL) 實(shí)際長(zhǎng)度6個(gè)字節(jié)C8 32 9B FD 0E 01 用戶信息(TP-UD) “Hello!”

例2 接收:SMSC號(hào)碼是+8613800250500,對(duì)方號(hào)碼是13693092030,消息內(nèi)容是“你好!”。手機(jī)接收到的PDU串可以是08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 96 03 29 30 F0 00 08 30 30 21 80 63 54 80 06 4F 60 59 7D 00 21對(duì)照規(guī)范,具體分析:分段 含義 說(shuō)明08 地址信息的長(zhǎng)度 個(gè)八位字節(jié)(包括91)91 SMSC地址格式(TON/NPI) 用國(guó)際格式號(hào)碼(在前面加‘+’)68 31 08 20 05 05 F0 SMSC地址 8613800250500,補(bǔ)‘F’湊成偶數(shù)個(gè)84 基本參數(shù)(TP-MTI/MMS/RP) 接收,無(wú)更多消息,有回復(fù)地址0D 回復(fù)地址數(shù)字個(gè)數(shù) 共13個(gè)十進(jìn)制數(shù)(不包括91和‘F’)91 回復(fù)地址格式(TON/NPI) 用國(guó)際格式號(hào)碼(在前面加‘+’)68 31 96 03 29 30 F0 回復(fù)地址(TP-RA) 8613693092030,補(bǔ)‘F’湊成偶數(shù)個(gè)00 協(xié)議標(biāo)識(shí)(TP-PID) 是普通GSM類型,點(diǎn)到點(diǎn)方式08 用戶信息編碼方式(TP-DCS) UCS2編碼30 30 21 80 63 54 80 時(shí)間戳(TP-SCTS) 2003-3-12 08:36:45 +8時(shí)區(qū)06 用戶信息長(zhǎng)度(TP-UDL) 實(shí)際長(zhǎng)度6個(gè)字節(jié)4F 60 59 7D 00 21 用戶信息(TP-UD) “你好!”若基本參數(shù)的最高位(TP-RP)為0,則沒(méi)有回復(fù)地址的三個(gè)段。從Internet上發(fā)出的短消息常常是這種情形。注意號(hào)碼和時(shí)間的表示方法,不是按正常順序順著來(lái)的,而且要以‘F’將奇數(shù)補(bǔ)成偶數(shù)。在PDU Mode中,可以采用三種編碼方式來(lái)對(duì)發(fā)送的內(nèi)容進(jìn)行編碼,它們是7-bit、8-bit和UCS2編碼。7-bit編碼用于發(fā)送普通的ASCII字符,它將一串7-bit的字符(最高位為0)編碼成8-bit的數(shù)據(jù),每8個(gè)字符可“壓縮”成7個(gè);8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,比如圖片和鈴聲等;而UCS2編碼用于發(fā)送Unicode字符。PDU串的用戶信息(TP-UD)段最大容量是140字節(jié),所以在這三種編碼方式下,可以發(fā)送的短消息的最大字符數(shù)分別是160、140和70。這里,將一個(gè)英文字母、一個(gè)漢字和一個(gè)數(shù)據(jù)字節(jié)都視為一個(gè)字符。需要注意的是,PDU串的用戶信息長(zhǎng)度(TP-UDL),在各種編碼方式下意義有所不同。7-bit編碼時(shí),指原始短消息的字符個(gè)數(shù),而不是編碼后的字節(jié)數(shù)。8-bit編碼時(shí),就是字節(jié)數(shù)。UCS2編碼時(shí),也是字節(jié)數(shù),等于原始短消息的字符數(shù)的兩倍。如果用戶信息(TP-UD)中存在一個(gè)頭(基本參數(shù)的TP-UDHI為1),在所有編碼方式下,用戶信息長(zhǎng)度(TP-UDL)都等于頭長(zhǎng)度與編碼后字節(jié)數(shù)之和。如果采用GSM 03.42所建議的壓縮算法(TP-DCS的高3位為001),則該長(zhǎng)度也是壓縮編碼后字節(jié)數(shù)或頭長(zhǎng)度與壓縮編碼后字節(jié)數(shù)之和。

2016/10/09 0 / /
標(biāo)簽:  暫無(wú)標(biāo)簽

4 + 9 =

回到頂部
固始县| 临颍县| 淮阳县| 两当县| 昭觉县| 黄梅县| 盘锦市| 资源县| 恩施市| 古田县| 金溪县| 苍南县| 巴彦县| 阿拉善盟| 海阳市| 固安县| 理塘县| 乌海市| 师宗县| 清水县| 濮阳县| 冀州市| 莒南县| 平顺县| 屯昌县| 娱乐| 浙江省| 贞丰县| 建德市| 平邑县| 堆龙德庆县| 常州市| 安乡县| 阳朔县| 黄平县| 嘉鱼县| 鱼台县| 九江县| 新乐市| 屯留县| 镇沅|