Fool's Garden

Talking about Windows Mobile and Embedded gadgets...Web counter

导航

Windows Mobile 文字短信的长度

Posted on 2005-11-10 22:10  Levins Dai  阅读(2218)  评论(4编辑  收藏  举报

在Windows Mobile里面,可以很方便的编辑长度无限制的文字信息,pOutlook会自动把它分割成若干条短信(SMS),再把它们发送出去。但可能很多人也注意到了,在短信编辑窗口的最下面,有类似这样的一串字:"5/160"。很多人直观地认为160是一条短信的最大长度,5是当前输入文字的长度,但随后慢慢地可能发现,这个数字并不是想象的那么直观:

首先,对于不少老式的简体中文手机(比如Noika 8250),短信最大长度通常显示70,而为什么Windows Mobile会是160呢?难道文字短信的长度不应该是统一的标准吗?

其次,更有意思的是,当尝试在Windows Mobile短信编辑窗口里写入汉字的时候,数字160马上变成了70。这又是怎么回事?

产生所有这些令人困惑的问题的原因在于,160这个数字代表的是短信容纳的最多字符个数,而不是其最大长度。按照GSM 900/1800/1900的标准,文字短信的最大长度是140个字节,也就是1120个比特。然而,对于字符本身由于采用不同的编码方式,最后导致了字符个数的不同。显然,如果以每个字符7 bits进行编码(可以支持0-127的ASCII码),那么就是160个字符,这也就是Window Mobile缺省使用的方式。然而,对于双字节汉字而言,一个字符需要2个字节进行编码,因此,当短信内容包含汉字字符时,系统自动采用UCS-2编码,最大长度仅能达到70个字符。

最后,对于某些老式手机(比如上面提到的Nokia 8250),由于目标面对的是中国市场,可能忽略了这些差别,统统采用UCS-2编码,于是,即便你编写纯英文短信,仍然无法超过70字符的限制。