---
title: "短信字数限制：GSM-7、Unicode、阿拉伯语与emoji"
description: "详解短信字数限制：GSM-7与UCS-2的区别、单条160和70个字符、拼接后每段153和67个字符，以及阿拉伯语和emoji为什么会推高成本，附利雅得购物中心的计算示例，教出海企业写出刚好不超段数的短信，省下不必要的费用。"
canonical: "https://omnichannels.ai/zh/blog/sms-character-limits-unicode-arabic/"
language: "zh"
updated: "2026-10-09"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
category: "sms"
primaryQuery: "sms character limit"
keywords: ["短信字数限制", "GSM-7和UCS-2区别", "短信160个字符", "阿拉伯语短信字数", "Unicode短信70个字符", "长短信拼接153", "emoji短信费用", "短信分段计算"]
published: "2026-10-09"
author: "OmniChannels.ai Editorial Team"
reviewer: "BroadNet Messaging Solutions Team"
readingMinutes: 8
answer: "一条短信可承载140字节的文本。在用于基本拉丁文本的GSM 7-bit字符集下，这相当于160个字符；而阿拉伯语、emoji和许多带重音的字母需要使用Unicode（UCS-2），此时只有70个字符。更长的消息会被拆分为每段153个GSM-7字符或67个Unicode字符的分段，每个分段都要计费。只要出现一个GSM之外的字符，整条消息就会切换为Unicode。"
takeaways: ["按照3GPP TS 23.040和TS 23.038的定义，一条短信承载140个八位字节的用户数据：160个GSM-7字符或70个UCS-2字符。", "拼接的长短信，每个部分都要用一个头部占去空间，因此每段只剩153个GSM-7字符或67个UCS-2字符。", "单个阿拉伯字母、emoji、弯引号或不受支持的重音符号，都会迫使整条消息改用UCS-2编码。", "€、[、]、{、}、~、\\和|等GSM-7扩展字符需要转义码，因此每个按两个字符计算。", "由于UCS-2，阿拉伯语短信每个词的成本高于英语，所以为控制长度而精简文案，会直接影响营销活动的成本。"]
faq: 
  - q: "一条短信有多少个字符？"
    a: "一条短信承载140个八位字节的用户数据。使用GSM 7-bit默认字符集时，相当于160个字符；使用UCS-2 Unicode编码（阿拉伯语、中文、emoji和GSM字符集之外的字符都需要它）时，相当于70个字符。如果消息更长，就会作为多个相互关联的分段发送，通常按分段计费。"
  - q: "为什么长短信每段是153个字符而不是160个？"
    a: "消息被拆分后，每个部分都带有一个用户数据头，告诉手机如何重新组装这些片段。常见的头部占6个八位字节，因此每段只剩153个GSM-7字符或67个UCS-2字符的空间。手机会把这些部分显示为一条消息，但网络和您的服务商会分别计数。"
  - q: "一条阿拉伯语短信能有多少个字符？"
    a: "阿拉伯语不在GSM 7-bit字符集中，所以阿拉伯语短信使用UCS-2编码：单条为70个字符，消息更长时每段为67个。阿拉伯语消息中的空格、标点和西方数字也计入这个Unicode限制，因为整条消息只使用一种编码。"
  - q: "emoji会让短信更贵吗？"
    a: "通常会。emoji不在GSM字符集中，所以一个emoji就会让整条消息切换为Unicode，使单条上限从160降到70个字符。多数emoji还占用两个16位单元，旗帜等部分组合型emoji占用更多，因此它们会在Unicode限制内消耗额外的空间。"
  - q: "为了省钱，可以把阿拉伯语短信改用GSM-7发送吗？"
    a: "只能用拉丁字母书写阿拉伯语，有时称为Arabizi。这样可以适配GSM-7，但许多客户觉得更难读，对品牌而言也可能显得不够可信。更好的省钱办法是紧凑地编辑阿拉伯语文案，去掉元音符号和装饰性的拉长字符，并以固定的分段数为目标。"
sources: 
  - title: "3GPP TS 23.038：字母表和特定语言信息"
    url: "https://www.3gpp.org/dynareport?code=23038"
  - title: "3GPP TS 23.040：短消息服务（SMS）技术实现"
    url: "https://www.3gpp.org/dynareport?code=23040"
  - title: "UTF-8、UTF-16、UTF-32与BOM常见问题 — Unicode联盟"
    url: "https://www.unicode.org/faq/utf_bom.html"
---

# 短信字数限制：GSM-7、Unicode、阿拉伯语与emoji

Canonical: https://omnichannels.ai/zh/blog/sms-character-limits-unicode-arabic/
Language: zh
Publisher: OmniChannels.ai by BroadNet Technologies

本指南面向用英语、阿拉伯语或其他语言撰写短信，并希望控制成本和送达率的营销人员、CRM团队和开发者。您将了解短信编码的工作原理、每个分段能容纳多少字符，以及如何写出分段数可预期的短信。

## 一条短信能容纳多少个字符？

一条短信承载140个八位字节（字节）的用户数据。它能容纳多少个字符取决于编码，而编码由服务商根据您使用的字符自动选择。

规则来自两份3GPP规范：定义短信消息结构的TS 23.040，以及定义字符集的TS 23.038。

| 编码 | 每字符位数 | 单条短信 | 拆分后每段 | 用途 |
|---|---|---|---|---|
| GSM 7-bit默认字符集 | 7 | 160个字符 | 153个字符 | 基本拉丁字母、数字、常用标点、部分带重音的字母 |
| UCS-2（16位Unicode） | 16 | 70个字符 | 67个字符 | 阿拉伯语、emoji、中文、大多数带重音和特殊的字符 |
| 8位数据 | 8 | 140字节 | 134字节 | 二进制数据，而非普通文本 |

算术很简单：140个八位字节 × 8位 ÷ 7位 = 160个GSM-7字符，140 ÷ 2字节 = 70个UCS-2字符。

## GSM-7和UCS-2有什么区别？

GSM-7是为短信设计的紧凑7位字符集。UCS-2是16位的Unicode编码，几乎可以表示任何文字，但每个字符占用的空间超过前者的两倍。

GSM-7涵盖A–Z、a–z、0–9、常用标点、一组符号（如@、£、$、%和&），以及有限的带重音字母，包括é、è、ü、ñ和à。它不包含法语、西班牙语或葡萄牙语中使用的许多带重音字母，如á、ç（小写）、ê或õ，更不包含任何阿拉伯文、西里尔文或亚洲文字。

### 扩展表

一些常见字符位于GSM-7扩展表中，需要先用转义码，因此每个按两个字符计算：€ [ ] { } ~ \ | ^ 以及换页符。包含多个欧元符号或括号的消息，容量会迅速缩水。

### 各国语言表

TS 23.038还为土耳其语、西班牙语、葡萄牙语和若干印度语言等定义了各国语言移位表，使7位模式下可以容纳更多字符。支持情况取决于网络、服务商和手机，所以在没有对目标运营商进行测试之前，请不要依赖它们。

## 为什么长短信每段只有153或67个字符？

当消息超过单条短信时，它会被拆分成多个分段，每个分段都带有用户数据头（UDH），告诉手机如何重新组装。常见的头部占6个八位字节，留给文本的是134个八位字节。

- 在GSM-7下，134个八位字节可容纳153个字符。
- 在UCS-2下，134个八位字节可容纳67个字符。

手机显示为一条消息，但您的服务商和运营商会统计每个分段，并通常按分段计费。

| 分段数 | GSM-7最多字符数 | UCS-2最多字符数 |
|---|---|---|
| 1 | 160 | 70 |
| 2 | 306 | 134 |
| 3 | 459 | 201 |
| 4 | 612 | 268 |
| 5 | 765 | 335 |

有两个实际细节会改变确切的数量。服务商会避免把一个由两个字符组成的扩展序列或一个emoji拆在两个分段之间，所以一个分段可能比理论最大值少容纳一个字符。另外，许多服务商会限制每条消息的分段数量，因此特别长的文本可能被拒绝或被截断；请查看服务商的限制。

## 为什么阿拉伯语和emoji会改变成本？

任何GSM-7之外的字符，都会迫使整条消息改用UCS-2。这会把单条上限从160降到70个字符，把每段上限从153降到67个字符。

- **阿拉伯语文本**始终使用UCS-2。一条100个字符的阿拉伯语消息需要两个分段；同样长度的英语消息只需一个。
- **emoji**在GSM-7之外。多数emoji位于Unicode基本多文种平面之外，在UTF-16中以代理对（两个16位单元）表示，所以它们会占用70个可用位置中的两个。旗帜或不同肤色版本等组合型emoji占用更多。
- 英语文本中的**隐藏元凶：**弯引号（’ “ ”）、连字符之外的en dash和em dash（– —）、省略号字符（…）和不换行空格，它们常常是从文字处理软件或设计工具中粘贴进来的。其中任何一个都会让消息切换为UCS-2。

### 实战示例：利雅得一家购物中心的营销活动

“Najm Mall”（虚构）计划向200,000名客户发送一条英语和阿拉伯语的周末短信。我们统计了每个草稿的字符数。

| 草稿 | 字符数 | 编码 | 分段数 |
|---|---|---|---|
| 使用普通连字符、无emoji的英语 | 122 | GSM-7 | 1 |
| 同样的英语，加了两个en dash和一个emoji | 125个单元 | UCS-2 | 2 |
| 阿拉伯语，初稿 | 153 | UCS-2 | 3 |
| 阿拉伯语，编辑后 | 101 | UCS-2 | 2 |

英语版本为：“Najm Mall: Weekend sale, up to 30% off home & kitchen. Fri-Sat 10am-10pm. Show this SMS at the till. Reply STOP to opt out”。加上一个派对emoji和排版用的破折号，让英语受众的分段数翻了一倍。把阿拉伯语文案从三段压缩到两段，在优惠内容和截止时间不变的情况下，使该受众的成本降低了三分之一。

## 如何写出长度刚好的短信？

先确定分段预算，再按预算来写。每次活动都可以参照以下检查清单：

1. **设定目标：**验证码和告警为一个分段；营销短信为一到两个分段。
2. **在纯文本编辑器里撰写**，并把排版用的引号和破折号换成普通的。
3. **除非您已认定多一个分段是值得的，否则不要在英语消息中使用emoji。**
4. **使用能在发送前检测编码的分段计数器**，并预览最终文本，其中的个性化字段按可能的最大长度填充。
5. **为变量留出余量：**较长的客户姓名或产品名称可能把消息推到下一个分段。
6. **对于阿拉伯语，**去掉每个都算作字符的元音符号（tashkeel）和装饰性拉长字符（tatweel）；优先使用简短的措辞；并使用受众读起来自然的缩写。
7. **使用您自己的品牌域名缩短链接**，而不是粘贴很长的跟踪链接。
8. **在各语言的手机上测试**，确认显示效果和分段数。

对于验证码，请把验证码放在最前面，并让消息保持在一个分段内；参见我们的[验证码指南](/blog/otp-authentication-messages-guide/)。关于活动规划，请参阅[群发短信最佳实践](/blog/bulk-sms-best-practices/)。

## 常见错误与局限

- **只数字符，不看编码。**一条90个字符的消息，可能是一个分段，也可能是两个。
- **随意混用语言。**英语消息中只要有一个阿拉伯语单词，整条消息就变成Unicode。
- **忽视扩展表。**欧元价格和括号在GSM-7中按双倍计算。
- **忘记个性化内容的长度。**请用数据中最长的值来测试。
- **以为每家服务商的计数方式都相同。**拆分规则和最大分段数各不相同；请向您的服务商确认。
- **本指南的局限：**手机和网络在边界情况下偶尔处理方式不同，尤其是各国语言表和复杂的emoji。关键消息请在您实际发送的运营商网络上测试。

## OmniChannels.ai 如何提供帮助

OmniChannels.ai在[短信活动](/channels/sms/)和其他渠道中支持阿拉伯语和英语，提供发送前的消息预览、Excel或CSV上传、定时发送和去重。带汇总与高级视图、筛选和CSV导出的送达报告，帮助您核对发送了什么、送达了什么。短信通过BroadNet Technologies送达，这是一家拥有短信运营商直连网络的电信消息公司，计费采用预付费钱包。了解更多关于开展[多渠道营销活动](/platform/campaigns/)的信息。
