一般的手机可以编写很长的短信,其实系统是把一个短信分割成多个短信,再把它们发送出去,也就是我们说的长短信。
但可能很多人也注意到了,在短信编辑窗口的最下面,有类似这样的一串字:"5/160"。很多人直观地认为160是一条短信的最大长度,5是当前输入文字的长度,但是如果输入一个汉字,那么这个最大的长度变成了70。这是什么原因呢?
产生所有这些令人困惑的问题的原因在于,160这个数字代表的是短信容纳的最多字符个数,而不是其最大长度。
按照GSM 900/1800/1900的标准,文字短信的最大长度是140个字节,也就是1120个比特。然而,对于字符本身由于采用不同的编码方式,最后导致了字符个数的不同。显然,如果以每个字符7 bits进行编码(可以支持0-127的ASCII码),那么就是160个字符,这也就是Window Mobile缺省使用的方式。然而,对于双字节汉字而言,一个字符需要2个字节进行编码,因此,当短信内容包含汉字字符时,系统自动采用UCS-2编码,最大长度仅能达到70个字符。
PS:
曾经以为英文字母只能发送140个,没想到。这个GSM可以对英文字母进行的压缩,8bit--》7bit。所以140个字节可以发送160个英文字母。
转载于:https://blog.51cto.com/renjwjx/202694