編輯:關於Android編程
手機短信收發有三種方式:Block方式、Text方式和PDU方式,前兩種在國內很少使用,PDU格式則普遍支持。內容總長度140個字節(1120位),支持采用三種編碼方式:7-bit、8-bit和UCS2編碼,
7-bit編碼——用於發送普通的ASCII字符,ASCII碼表最大到0x7X,最高位為0,總7-bit,實際編碼時則可把8-bit的最高位比特使用起來,所以可支持1120/7=160個字符;
8-bit編碼——用於發送數據消息,比如圖片和鈴聲、二進制數據等,此類數據無法使用7-bit編碼,因為那樣會丟掉一位,也不能用下面UCS2編碼,因為不符合UNICODE編碼檢查(范圍)。8-bit編碼最多支持140個字節數據。
UCS2編碼——用於發送Unicode字符,每個中文(韓文、日文),占用2字節,只要短信裡包含這些多字節編碼文字,那麼即使還有英文,英文也需要安裝UCS2編碼,也占用2字節,所以,最多支持70個中文字(或中英混合短信)
總之,只要含有中文(日文、韓文等),就需要使用多字節編碼方式,若編碼采用UCS2格式,1中文字占2字節,則可容納70個中文字,如果是純英文,將默認使用7bit編碼方式(注意是7bit編碼),則可容納(140*8)/7=160個字符。
超過此長度的短信,目前的智能機平台都可以本地實現自動切分成多個短信後再逐一進行發送,長短信因為要涉及到協議頭。
如果想通過短信發送非文本信息的數據,建議通過數據端口方式,而不是文本,否則文本短信的默認處理規則(7bit格式)可能會導致數據不完整或丟失。
PDU編碼由以下部分組成(順序連接):
相關短信息收發規范,可參考:GSM 03.38、GSM 03.40和GSM 07.05協議相關章節。
下面是對一組測試代碼的結構分析,摘自下文參考資料文檔。
示例代碼:0891683108506405F011500B 813168934922F60008FF084E2D56FD79FB52A8
結構分析:
注意,其中的TP-DCS,這個字節就是制定PDU數據的解碼方式。
本文實例為大家介紹了Android ListView下拉刷新功能的實現方法和功能,供大家參考,具體內容如下1、ListView優化方式界面緩存:ViewHolder+co
最近做了手機虛擬按鈕開發,和華為榮耀的虛擬按鈕類似,效果如下(屏幕底下部分): 功能描述:手機開機,“虛擬按鈕”自動隱藏,當從手機下邊
本文實例講述了Android編程中的Menu功能菜單。分享給大家供大家參考,具體如下:Android功能菜單的設計,程序裡定義了兩個菜單子項,一個是關於,一個是退出,當點
本文主要介紹的是一個球形水波的百分比控件,市面上有各種形形色色的百分比控件,我一直覺得水波是最炫的,UI給了我這個機會,然而網上搜了一大堆,不是太復雜,代碼太多(反正我是