【摘要】講述了手機短信最多70個字的由來,通過專業軟件跟蹤超長短信的實際信令流程,驗證了目前現網中依然采用最初的短信標準,對3GPP協議進行分析,探討了未來短信字數擴容的可行性。
【關鍵詞】SMSFriedhelm Hillebrand160703GP
某天隨意的瀏覽的網頁,看到有人在問為什么手機短消息最多發70個字?然后大家都在熱烈的討論,有的說是運營商的規定,有的說是手機的原因,那到底是什么原因呢?
我們探討手機短信,就不得不提到一個人Friedhelm Hillebrand(短信技術的主要發明人)。1985年Hillebrand在全球GSM協會下屬的非語音服務委員會(nonvoice services committee)中擔任主席,當時通信技術研究者們正在準備給手機的文字短信訂立標準。Hillebrand隨意的在打字機上打出幾條字句組成的信息,當他完成打字并開始檢查字句的字符數時,他發現這些信息每條都只有1-2行的長度,而總字符數也總是小于160個。就這樣,Hillebrand決定將160個字符作為手機短信的長度上限。當然了委員會里的成員們仍然對160字符是否足夠而存有懷疑態度。由于當時無法進行市場調查,因此他們通過對兩件事情的調查結果解消了疑慮。第一,他們發現明信片上的字符數總是小于150個。第二,經過對當時十分流行的商務電信網絡Telex上的信息傳送狀況分析,他們發現在這個網絡上傳送的信息和明信片一樣也常常不會超過150個字符。就這樣160個字符成為了手機短信的長度上限。
由于英文ASCII采用7位編碼,160個字符就是160*7=1120位。手機短信的長度是由編碼決定的,每條短信最多發送1120位。如果發送純英文字符,由于英文ASCII采用7位編碼,所以1120位的限額可以傳送1120÷7=160個字符。一旦傳送的字符中包含中文、日文、韓文等雙字節字符,不論中文還是西文,不論全角還是半角,都必須采用2個字節的8位編碼,因此1120÷8÷2=70個字符,即最多傳送70個字。
每條短信最多70個字,這不是運營商的規定,是通信協議的規定。所有的手機必須遵守同樣的通信協議,才能保證發送的短信能被移動運營商的服務器正確轉發,也才能保證發送的短信能被對方手機收到并能正確查看。有的手機能發多于70個漢字的長短信,實際上是你個人編輯上感覺可以寫那么多。而在發送的時候,手機自動按每條70個漢字標準拆分成多個短信發送,并不是說這款手機突破了每條短信70個漢字的協議限制。我在現網發送了一條200字的短信,跟蹤信令可以很好的驗證這一點。
從圖1可以看出,這條短信被分成了三段來處理。
我們翻閱3GPP文檔,查看有關短消息部分的協議,可以發現3GPP對Layout of SMS-SUBMIT(短消息發送的結構)定義如表1:
也就是說在3GPP協議中,短消息的最大長度依然為140個字節或者說是70個漢字。26年前Hillebrand可能沒想到,他小小的決定影響了整個世界,科技有時候還真讓人意外。
當然,科技向前進步,任何事物都不是一成不變的,短消息容量也不例外。在2009年CDMA世界論壇上,中國電信國際部副總監曾宏建稱,中國電信正在對150個字的短信技術進行測試,中國電信將能夠支持每條短信容納150個字。只能容納70個字的短信早已被用戶所詬病,中國電信將在國內開創短信大容量的先河。雖然到今日,中國電信仍然沒有給用戶提供這種服務,但是我們很高興看到任何一點的創新。