SMS 字符限制
SMS 每条为 160 个字符 (GSM 7-bit) 或 70 个字符 (Unicode/UCS-2)。长文会被分割发送。
SMS (Short Message Service,短消息服务) 的字符数限制因所使用的字符编码而异。在 GSM 7-bit 编码 (英数字和基本符号) 下每条上限为 160 个字符,在 Unicode (UCS-2) 编码 (日语、表情符号、中文等) 下上限为 70 个字符。160 和 70 这两个数字,是由每条能够承载的数据量被固定为 140 字节推导出来的。用 7 比特表示 1 个字符的 GSM 7-bit 是 140 × 8 ÷ 7 = 160 个字符,用 16 比特表示 1 个字符的 UCS-2 是 140 ÷ 2 = 70 个字符。这种限定为短句的设计于 1984 年被构想出来,1985 年提交到 GSM 的会议,而 SMS 的规范本身则是在 1986 年作为 GSM 规范群的一部分被定义的。由于当初的前提是搭载在用于通话控制的既有通信通道上,因此始终无法脱离 140 字节这个框架,这就是它的来龙去脉。
超过限制的长消息会自动分割为多条 SMS 发送。分割时每个片段都会添加用户数据头 (UDH),因此实质上的字符数减少为 GSM 的 153 个字符、Unicode 的 67 个字符。接收端的设备会把这些片段合并起来作为一条消息显示,但在旧设备上也可能显示为各自独立的消息。
在商业 SMS 中,分割发送会产生按条数计费的费用,因此成本管理很重要。日本国内的发送费用并不是每条固定金额,实际情况是按发送的字符数分档的阶梯制。截至 2026 年,NTT DOCOMO 的日本国内 SMS 中,70 个全角字符以内为每条 3 日元多,从那里开始大约每 67 个字符上升一档,到上限的 670 个全角字符则为 30 日元多 (均为含税)。由于档位的宽度正是分割的单位,所以只要超过 70 个字符 1 个字,费用就会变成 2 倍。因此,用能装进一条消息的字符数简洁地传达内容,在成本效率方面很重要。在发送验证码 (OTP) 时,一般只由验证码和最小限度的说明文字构成,以控制字符数。
日语的 SMS 使用 Unicode 编码,因此适用 70 个字符的限制。不过日本国内的主要运营商都支持长短信,上限为 670 个全角字符。这是把 1 个片段 67 个字符按 10 条的份量合并起来的数值,若只有半角英数字则可以装进 153 × 10 = 1,530 个字符。需要注意的是,这个上限只有在分割与合并两者都能成立的路径上才可以使用。即使是同一家运营商,经由卫星的发送也会被限制在 70 个全角字符以内,也就是说上限会因路径而回退。虽然像 RCS (Rich Communication Services) 这样对字符数约束较宽松的后继规范也在扩展开来,但如果对方的设备或运营商不支持,就会退回为 SMS 发送,因此截至 2026 年,准备一份用 70 个字符就能成立的正文才是安全的。
在 SMS 营销中,意识到字符数限制的消息设计会左右成果。包含 URL 时应使用短链接,以节省正文的字符数。CTA (行动号召) 要明确且简洁,让接收者一眼就能理解接下来该做什么。SMS 只凭电话号码就能送达,既不需要安装应用也不需要订阅同意,因此被当作通知不易被埋没的路径来使用。不过,宣称打开率很高的那些数字,其测定方法和对象各不相同、无法相互比较,所以如果要设定目标值,测量自己发送的那部分的反应率并以此作为基准更为可靠。
就与字符计数的关联而言,SMS 的字符数限制是字符计数工具的实用用例之一。特别是日语 SMS 有 70 个字符这一严格的限制,因此在发送前准确掌握字符数不可或缺。只要包含 1 个表情符号就会切换为 Unicode 编码,限制从 160 个字符变为 70 个字符,这一点也是用户容易看漏的要点。