找回密码
 注册
搜索
查看: 1013|回复: 2

[讨论] 长短信每页的字数不一样,为什么?

[复制链接]
发表于 2006-12-21 13:23:15 | 显示全部楼层 |阅读模式
一个比较幼稚的问题,编辑长短信时,为什么每页输入的最大字数不一样!
页数与字数的对应关系(一种):
1. 160字;2. 148字;3. 154字;4. 154字;5.154字
试过很多手机,如三星,诺基亚。
也试过几种手机架构:TI ,展讯。
实际上改成每页字数一样多非常容易,为什么还要这样??
请各位大侠解答!!谢谢!!
[em09][em09]
发表于 2006-12-22 21:59:28 | 显示全部楼层
GSM 03.40 (9.2.3.24.1)
点评回复

使用道具 举报

发表于 2006-12-25 16:07:55 | 显示全部楼层
GSM规定每封短消息最多140bytes,根据编码方式不同以下情况
1.GSM7Bit编码,不压缩,140个字。
2.GSM7Bit编码,压缩,160个字(140*8bit/7bit)
3.Unicode编码,70个字,这就是中文短消息不能超过70个字的由来。

对于超过160个字的短消息,GSM定义了EMS(增强短消息)的格式用于
发送长的短消息和EMS(一般是小图片和短铃声)。
这样就要重新定义格式,一般是在每个SMS的最前面几个字节定义一下,
这是个EMS,导致160bytes被占用了几个字节。
所以长的短消息的时候,每页的字数就不一样了少于160个字。
具体回到上面的例子,6个字节是用于EMS的标志。
1.输入的时候,一直输入到160bytes没有问题是第一封SMS。
2.继续输入,161的时候,不行了要分成2封,所以第一夜最多160.
3.继续到2*(160-6)的时候,该第三封了,所以第二页最多到2*(160-6)-160=148.
4.同样的计算,后面都是154.

为什么要有6个字节的头,这里面告诉你,总共多少页,现在是第几页,
以保证接受方收到的次序不一样也能拼回原来的内容。,  
GSM规定每封短消息最多140bytes,根据编码方式不同以下情况
1.GSM7Bit编码,不压缩,140个字。
2.GSM7Bit编码,压缩,160个字(140*8bit/7bit)
3.Unicode编码,70个字,这就是中文短消息不能超过70个字的由来。

对于超过160个字的短消息,GSM定义了EMS(增强短消息)的格式用于
发送长的短消息和EMS(一般是小图片和短铃声)。
这样就要重新定义格式,一般是在每个SMS的最前面几个字节定义一下,
这是个EMS,导致160bytes被占用了几个字节。
所以长的短消息的时候,每页的字数就不一样了少于160个字。
具体回到上面的例子,6个字节是用于EMS的标志。
1.输入的时候,一直输入到160bytes没有问题是第一封SMS。
2.继续输入,161的时候,不行了要分成2封,所以第一夜最多160.
3.继续到2*(160-6)的时候,该第三封了,所以第二页最多到2*(160-6)-160=148.
4.同样的计算,后面都是154.

为什么要有6个字节的头,这里面告诉你,总共多少页,现在是第几页,
以保证接受方收到的次序不一样也能拼回原来的内容。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-9-29 18:27 , Processed in 0.044621 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表