一条最长的短信息多少 Byte

中文 70 (包括标点),英文 160, 160 个字节。

 

 

无意间看到一个这个题目,觉得有些奇怪,怎么不是140个字节呢,后来查阅后发现有以下博文:

 

众所周知,一条短信是可以输入70个中文字符的。一个字符是2个字节(Byte)。一个字节是8位(bit).所以通用的计量是 一条短信可以输入70*2*8=1120 bit

一个ASCII码是7bit(128个字符的标准ASCII码),如果你输入的是标准ASCII码的话你,就可以在一条短信中输入1120/7=160个ASCII字符。

比如说 你在第一条短信中输入数字 那么你这一条短信应该是可以输入160个数字的。但是只要你输入一个中文,系统立刻会使用中文的双字节计算标准来重新计算整个短信。比如当你输入123时 系统会提示你 你还可以输入160-3=157个字符。但是你再输入一个“一”时,系统会认为你已经输入了4个中文,提示你还可以输入70-4=66个中文。


 

好了 一条短信可输入字符的长度应该大家都明白了。那么超长短信的字符计算呢?两条短信是不是能够输入160*2=320个字符呢?或者140个中文呢?

不是的。超长短信的计算因为有协议存在的缘故,会有变化。

当第一条短信输入到161个字符时,你会发现系统帮你创建的第二个短信实际上只允许你输入145个字符,第三条短信以及以后的短信会允许你输入153个字符。

如何计算得到?

超长短信需要有协议,所以每一条短信中会贡献7个字符用于协议相关。

当第一条短信达到161个字符时,由于要使用协议,第一条短信必须留出7个字符的长度。因此有7个被挤出来的字符连同第161个字符,一共8个字符就被放到了第二条短信。

第二条短信一共可写160个字符,现在已经被安放了8个字符,还要加上自己协议的7个字符,所以一共有15个字符不可用,160-15=145个字符。因此第二条短信只能写145个字符。

第三条以及以后的短信 就很单纯的只需要留出自己的7个协议字符,因此都是160-7=153个字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值