Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android中文短息相關問題解答

Android中文短息相關問題解答

編輯:初級開發

 最近很多網友來信反饋有關Android中文短信的實現原理,其實了解中文短信應該從最基本的GSM通訊協議開始看起,這裡找到了Android平台的短信類庫android.telephony.gsm的相關實現看完就可以很好解決。然而平時分送時使用sendMultipartTextMessage方法比較好,該方式可以自動計算文本長度,然後使用divideMessage()方法分段,最終均使用sendTextMessage來發送,但底層的實現都需要經過sendRawPdu方法。

  其中實現中文短信的核心就是編碼,常規的SMS使用的是7bit的壓縮處理方式,然後MMS或Push短信使用的8bit非壓縮方式,但發送中文、日文都需要使用16bit的unicodes編碼方式,這裡需要說明的是這類寬字節的編碼僅能存儲70個字節,而gsm標准的的7位是壓縮的可以存放160個字節內容。標准的8位是256個字符,對應ascii正好夠用,最終中文短信使用Java內部的utf-16be編碼方式,通過getBytes方式直接轉換即可,其實android在實現短信內部上已經實現了正確的ucs2編碼,但在調用時使用了一個try和catch先嘗試7bit的gsm編碼,但發送常規中文短信時並沒有失敗,造成catch中的ucs2編碼方式尚未執行。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved