通过MCP连接 →

输入计算

数学公式

广告

结果

所需短信段数
1
message will be sent
字符数 34
编码方式 GSM-7
每段字符数 160
进入下一段前剩余字符 126

什么是短信条数计算器?

这款工具能告诉你一条短信会占用多少个短信段(segment)、采用哪种编码(GSM-7 还是 UCS-2/Unicode),以及在新增一个分段之前还能输入多少个字符。运营商是按"段"计费的,因此一条看上去普通的"短信"一旦超出字符上限,实际就会按多条短信收费。

如何使用

把要发送的内容粘贴或输入到文本框,然后选择编码模式。自动识别会在所有字符都属于 GSM-7 字符集时选用 GSM-7,否则自动切换到 UCS-2。你也可以手动强制指定某种编码,直观对比两者在计费上的差异。

计算公式解析

单段短信在 GSM-7 编码下可容纳 160 个字符,UCS-2 编码下则为 70 个。一旦超过这个上限,每个分段都需要附带一段用于拼接的报头信息,可用容量随之降低为:GSM-7 每段 153 个字符、UCS-2 每段 67 个字符。分段数的计算方式为 ceil(字符长度 / 每段上限),即向上取整。

$$\text{Segments} = \begin{cases} 1 & L \le 160 \\[4pt] \left\lceil \dfrac{L}{153} \right\rceil & L > 160 \end{cases} \qquad L = \text{GSM-7 length of }\text{Message}$$

$$\text{Segments} = \begin{cases} 1 & L \le 70 \\[4pt] \left\lceil \dfrac{L}{67} \right\rceil & L > 70 \end{cases} \qquad L = \text{length of }\text{Message}$$

Diagram showing GSM-7 single segment limit of 160 and concatenated segment limit of 153, versus UCS-2 limits of 70 and 67
Per-segment character limits differ by encoding: GSM-7 fits more characters than UCS-2, and concatenation reserves space for header bytes.

实例演算

一条 200 个字符的 GSM-7 短信超过了单段 160 的上限,因此需要拆分为多段:\( \lceil 200 / 153 \rceil = 2 \) 段。两段的总容量为 \( 2 \times 153 = 306 \) 个字符,因此在需要第三段之前,还剩下 \( 306 - 200 = 106 \) 个字符可用。

A long message split into three numbered SMS segments with a small header on each
A long message is divided into multiple segments, each carrying a small header so the phone can reassemble them in order.

常见问题

为什么我的短信是按 153 而不是 160 拆分的? 多段短信会在每段中预留 7 个字节,用于存放拼接报头,让手机能够把各段重新组合成完整内容。

什么情况会触发 UCS-2 编码? 只要出现任何不属于 GSM-7 字符集的字符——比如常见的表情符号 emoji、弯引号,或者许多带重音的字母——整条短信就会切换为 UCS-2 编码,单段上限随之降为 70/67 个字符。中文等汉字字符同样属于 UCS-2 范围,因此发送中文短信通常以 70/67 字符为分段标准。

GSM-7 的扩展字符会多占用空间吗? 像 {、}、[、]、|、^、~、\ 和 € 这类字符,在 GSM-7 中每个都要占用两个计费单位,因为它们需要一个转义字符。

最后更新: