透過 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 個。一旦超過上限,各分段就必須額外帶上「串接表頭(concatenation header)」來標記順序,使每段容量縮減為 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 字元的上限,因此會啟用多段(multipart)模式:\(\lceil 200 \div 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 個位元組(byte)給表頭,讓手機能依序把各段重新組合回完整訊息。

哪些情況會被迫使用 UCS-2 編碼?只要出現任何不屬於 GSM-7 字元集的字元——例如常見的表情符號、彎引號(curly quotes),或許多帶重音的字母——整則訊息就會切換成 UCS-2,使上限直接降為 70/67 字元。

GSM-7 的擴充字元會額外耗用空間嗎?會的。像 {、}、[、]、|、^、~、\ 以及 € 這類字元,在 GSM-7 中每個都要佔用兩個單位,因為它們需要搭配一個跳脫字元(escape character)。

最後更新: