最大的短信消息长度是多少?

16
通过Clickatell API发送的英文和西班牙文短信的最大长度是多少?由于西班牙语可能包含Unicode字符,因此英语和西班牙语消息长度是否存在差异?
通过Clickatell API发送的英文和西班牙文短信的最大长度均为160个字符。但是,如果使用Unicode字符,则每条短信最多只能包含70个字符。因此,西班牙语短信长度可能与英语短信长度不同,具体取决于所使用的字符。

2
如果我没记错的话,它是140个字符。这是Twitter最初基于短信为中心的服务而设定的字符限制。 - Max Steenbergen
3个回答

24

根据短信维基百科页面

使用MAP MO-和MT-ForwardSM操作发送消息,其有效负载长度受信令协议的限制,精确到140个八位字节 (140 octets = 140 * 8 bits = 1120 bits)。

根据用户在手机中配置的字母表,这导致最大的单个短信大小为160个7位字符、140个8位字符或70个16位字符。

关于您的另一个问题:

英语和西班牙语消息长度是否有区别,因为西班牙语可能包含Unicode字符?

没有区别,因为英语和西班牙语都完全包含在8位Latin 1字符集中。


1
我认为这个回答对于OP的问题来说是完全错误的。这只是关于单个短信消息段的通用信息(来自维基百科!)。我已经提供了一个参考Clickatell API指南的答案,我相信它给出的最大字符数是5355,比这里给出的160要多得多! - Don
你不能确定你的手机是否使用8位Latin 1字符集进行编码。 - Hernán Eche
那是错误的,我可以向您发送长达2000个字符的消息。给我任何电话号码,您自己验证一下。 - icinema gr

8
SMS允许多个短信消息串联在一起(每个消息长度减少以允许“连接”数据)。我有发送长度为612个字符(4个SMS消息)的消息的经验 - 每个消息段减少7个字符。在接收系统上,这些部分可能会无序地接收,只有在接收到所有部分后,消息才变得有意义。Clickatell API可以实现这一点,尽管它们在https://www.clickatell.com/downloads/http/Clickatell_HTTP.pdf的API指南中建议实际最大值为3条消息,但它允许最多35条消息(请参见第4.2.7节)。因此(暂时忽略Unicode),您可以通过Clickatell API发送长达35 * 153 = 5355个字符的消息。如果您发送Unicode字符(OP没有这样做),则单个消息的字符计数为70,每个连接消息段减少7个字符或63 * 35 = 2205个Unicode字符。

谢谢,现在我知道为什么是 153 而不是 160。 - tonix
您提供的链接已经失效,没有PDF文件可供下载。 - Alexis Wilke
另外,希望你发送的每个 Unicode 字符不是7个字节。即使是亚洲语言通常也只使用3或4个字节... - Alexis Wilke
我的答案中提到的Clickatell API可以在https://web.archive.org/web/20150322065638/https://www.clickatell.com/downloads/http/Clickatell_HTTP.pdf 上找到(2023年10月30日)。 - undefined

6

SMS短信可以包含140字节的数据。但是,SMS数据作为比特流发送。这意味着如果您发送7位ASCII码,可以发送160个字符。


“7位ASCII码(西班牙语不需要Unicode)”有点误导人,因为Unicode和8位并不是互相包含的。 - admdrew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接