بسیاری از مدیران کسبوکار، برنامهنویسان و کارشناسان بازاریابی هنگام ارسال پیامکهای اطلاعرسانی یا تبلیغاتی با رویدادی غیرمنتظره مواجه میشوند: متنی که در ظاهر کوتاه به نظر میرسد، دو یا سه پیامک محاسبه شده و هزینه ارسال آن به همان نسبت افزایش مییابد. علت اصلی چندبخشی شدن پیامک فارسی، تفاوتهای بنیادین در رمزنگاری کاراکترهای فارسی با انگلیسی و نحوه مدیریت بستههای داده در شبکههای مخابراتی است. در این مقاله جامع، مکانیسمهای فنی کدگذاری UCS-2، ساختار هدر UDH، دلایل کاهش سقف کاراکترها در بخشهای بعدی و راهکارهای عملی برای بهینهسازی متن پیامک را بررسی میکنیم.
رازهای شمارش کاراکتر؛ چرا پیامک فارسی زودتر چندبخشی میشود؟
پروتکل اصلی شبکه تلفن همراه برای ارسال اساماس بر پایه ظرفیت ثابت ۱۴۰ بایت (یا ۱۱۲۰ بیت) برای هر پیام طراحی شده است. نحوه بهرهبرداری از این ۱۴۰ بایت، کاملاً به نوع استاندارد رمزنگاری (Encoding) متن بستگی دارد. زمانی که متن شما تماماً از حروف لاتین تشکیل شده باشد، سیستم از کدگذاری ۷ بیتی استفاده میکند و اجازه ارسال تا ۱۶۰ کاراکتر را در یک بخش میدهد.
اما حروف الفبای فارسی، عربی و سایر زبانهای غیرلاتین در جدول استاندارد ۷ بیتی جای نمیگیرند. شبکههای مخابراتی برای پشتیبانی از این حروف، مجبور به استفاده از استاندارد جهانی یونیکد با فرمت UCS-2 هستند. در این حالت، هر کاراکتر به جای ۷ بیت، ۱۶ بیت (۲ بایت) از فضای بسته پیامک را اشغال میکند. با یک محاسبه ساده ریاضی (۱۴۰ بایت تقسیم بر ۲ بایت)، متوجه میشویم که ظرفیت یک پیامک تکبخشی فارسی حداکثر ۷۰ کاراکتر خواهد بود. به همین علت، موضوع چندبخشی شدن پیامک فارسی رخ میدهد و پیامکهای فارسی بسیار زودتر از متون انگلیسی وارد مراحل چندتایی میشوند.
تفاوت رمزنگاری GSM 7-bit و UCS-2 (Unicode) به زبان ساده
برای درک بهتر فرآیند چندبخشی شدن پیامک فارسی، باید ساختار دادهای دو استاندارد اصلی مخابراتی یعنی GSM 03.38 و UCS-2 را با یکدیگر مقایسه کنیم. در ساختار زیر نحوه تخصیص حافظه و ظرفیت نهایی هر الگوی رمزنگاری شفافسازی شده است.

استاندارد GSM 7-bit (مخصوص حروف لاتین)
در این استاندارد، هر کاراکتر تنها ۷ بیت از فضای پیامک را اشغال میکند. از آنجا که بسته پیامک ۱۱۲۰ بیت ظرفیت دارد، تقسیم ۱۱۲۰ بر ۷ عدد ۱۶۰ کاراکتر را در اختیار شما قرار میدهد. این حالت برای انگلیسی ساده، اعداد لاتین و برخی علامتهای ابتدایی استفاده میشود.
استاندارد UCS-2 (مخصوص زبان فارسی و یونیکد)
در این استاندارد، برای پشتیبانی از تمام گستره حروف فارسی، گاف و چ و پ و ژ و اعراب، هر کاراکتر به ۱۶ بیت (۲ بایت) حافظه نیاز دارد. تقسیم ۱۱۲۰ بیت بر ۱۶ بیت، سقف پیامک تکبخشی فارسی را به دقیقاً ۷۰ کاراکتر محدود میسازد.
جدول استاندارد تعداد کاراکتر و بخشهای پیامک فارسی و انگلیسی
یکی از ابهامهای رایج کاربران، نحوه محاسبه تعداد بخشها و جلوگیری از چندبخشی شدن پیامک فارسی هنگام عبور از سقف پیامک اول است. در جدول زیر گامبندی دقیق تعداد کاراکترهای مجاز برای پیامکهای فارسی و انگلیسی به همراه تعداد بخشهای محاسبهشده در صورتحساب اپراتورها آمده است. برای بررسی آخرین نرخها میتوانید صفحه تعرفه ارسال پیامک را مشاهده کنید.
| تعداد بخش (Segment) | حداکثر کاراکتر فارسی (UCS-2) | حداکثر کاراکتر انگلیسی (GSM 7-bit) | نحوه محاسبه ظرفیت بخشها (فارسی) |
|---|---|---|---|
| ۱ بخش | ۱ تا ۷۰ کاراکتر | ۱ تا ۱۶۰ کاراکتر | بخش اول کامل (۷۰ کاراکتر) |
| ۲ بخش | ۷۱ تا ۱۳۴ کاراکتر | ۱۶۱ تا ۳۰۶ کاراکتر | ۶۷ + ۶۷ کاراکتر |
| ۳ بخش | ۱۳۵ تا ۲۰۱ کاراکتر | ۳۰۷ تا ۴۵۹ کاراکتر | ۶۷ + ۶۷ + ۶۷ کاراکتر |
| ۴ بخش | ۲۰۲ تا ۲۶۸ کاراکتر | ۴۶۰ تا ۶۱۲ کاراکتر | ۶۷ + ۶۷ + ۶۷ + ۶۷ کاراکتر |
چرا بخش دوم پیامک فارسی ۶۷ کاراکتر محاسبه میشود نه ۷۰ کاراکتر؟
وقتی طول متن شما از ۷۰ کاراکتر عبور میکند و پدیده چندبخشی شدن پیامک فارسی رخ میدهد، گوشی دریافتکننده باید متوجه شود که این پیامک چند بخشی است و بخش دوم یا سوم باید به کدام پیامک قبلی متصل گردد. برای انجام این سرهمبندی (Reassembly) هوشمند، شبکههای مخابراتی بخشی به نام هدر داده کاربر یا UDH (User Data Header) را به ابتدای هر بسته پیامک متصل میکنند.

هدر UDH دقیقاً ۶ بایت (معادل ۴۸ بیت یا ۳ کاراکتر در رمزنگاری UCS-2) از فضای هر بخش را به خود اختصاص میدهد. این ۶ بایت حاوی اطلاعات فنی نظیر شناسه یکتای پیامک، تعداد کل بخشها و شماره بخش جاری است. بنابراین، وقتی پیامک شما چندبخشی میشود، ظرفیت مفید هر بخش از ۷۰ کاراکتر به ۶۷ کاراکتر (۷۰ منهای ۳ کاراکتر UDH) کاهش مییابد.
شناسه یکتای پیامک (Reference Number)
یک کد عددی که تمام بخشهای یک پیامک طولانی را به یکدیگر پیوند میدهد تا گوشی مقصد بداند کدام پکتها متعلق به یک متن واحد هستند.
تعداد کل بخشها (Total Segments)
عددی که مشخص میکند پیامک در مجموع به چند پکت تقسیم شده است (مثلاً ۳ بخش) تا دریافتکننده منتظر دریافت تمام اجزا بماند.
شماره ترتیب بخش (Sequence Number)
ترتیب جایگیری پکت جاری در مجموعه (مثلاً بخش ۲ از ۳) را تعیین میکند تا متن پس از دریافت، بدون جابهجایی جملات چیده شود.
محاسبه دقیق هزینه و مدیریت هوشمند پیامکها
اگر سیستم خود را به وبسرویس پیامک ریلکس متصل کنید، تعداد بخشها و هزینهی نهایی پیش از ارسال بهصورت دقیق محاسبه میشود تا هیچ هزینه غیرمنتظرهای به کسبوکار شما تحمیل نشود.
کاراکترهای پنهان و فاصلههای اضافی که هزینه پیامک را دوبرابر میکنند
گاهی اوقات شما متن پیامک را در سامانه تایپ میکنید و شمارشگر متنی تعداد کاراکترها را ۶۹ نشان میدهد، اما هنگام ارسال متوجه چندبخشی شدن پیامک فارسی و محاسبه ۲ بخش میشوید. علت این امر وجود کاراکترهای پنهان، خطوط جدید غیراستاندارد یا فاصلههای غیرمجاز است که در فرمهای متنی دیده نمیشوند اما توسط سرور ارسال پیامک شمرده میشوند.
چکلیست شناسایی و حذف کاراکترهای پرهزینه
- کاراکتر خط بعد (Enter / Newline): در برخی سیستمها خط بعد با ترکیب دو کاراکتر ` ` (Carriage Return + Line Feed) ذخیره میشود و ۲ کاراکتر به شمارش میافزاید.
- نیمفاصله غیراستاندارد: استفاده از نیمفاصله یا Shift+Space اگرچه برای زیبایی متن عالی است، اما گاهی در سیستمهای قدیمی به عنوان ۱ یا ۲ کاراکتر خاص شناسایی میشود.
- شکلکها و ایموجیها (Emojis): ایموجیها در یونیکد حافظه ۴ بایتی اشغال میکنند و معادل ۲ کاراکتر UCS-2 محاسبه میشوند.
- علامتهای نقلقول هوشمند (Smart Quotes): کپی کردن متن از مایکروسافت ورد یا نرمافزارهای گرافیکی ممکن است گیومههای کج یا کاراکترهای نامرئی به متن اضافه کند.
- فاصلههای متوالی (Multiple Spaces): وجود چند اسپیس پشت سر هم در انتهای جملات یا ابتدای خطوط که بدون دقت تایپ شدهاند.
تاثیر چندبخشی شدن پیامک بر نرخ تحویل (Delivery Rate)
افزایش هزینه تنها مشکل چندبخشی شدن پیامک فارسی نیست؛ طولانی شدن متن بر سرعت و نرخ تحویل (Delivery Rate) پیامک نیز اثر مستقیم میگذارد. هرچه تعداد بخشهای یک پیامک بیشتر باشد، احتمال تاخیر یا اختلال در شبکه مخابراتی افزایش مییابد.
سناریوی پیامکهای خدماتی و کد تایید (OTP)
در پیامکهای ورود یا ثبتنام، سرعت تحویل حرف اول را میزند. اگر پیامک کد تایید به دلیل طولانی بودن متن به ۳ بخش تبدیل شود، گوشی کاربر باید هر ۳ پکت را دریافت و ترکیب کند. افت آنتن در دریافت یکی از پکتها باعث عدم نمایش کد و انصراف کاربر میشود.
سناریوی کمپینهای بازاریابی و پیامک انبوه
در ارسالهای میلیونی، پیامکهای ۳ یا ۴ بخشی ترافیک سنگینی روی دکلهای اپراتوری ایجاد میکنند. این موضوع در ساعات شلوغی ممکن است باعث صفنشینی پکتها و تحویل ناهمزمان اجزای پیامک به مخاطب گردد.
گامهای عملی برای کوتاه کردن متن پیامک بدون کاهش اثربخشی
برای کنترل طول پیامک و جلوگیری از چندبخشی شدن پیامک فارسی و نگه داشتن آن در سقف ۱ بخش (۷۰ کاراکتر) یا حداکثر ۲ بخش (۱۳۴ کاراکتر)، رعایت فرآیند بهینهسازی زیر توصیه میشود.

حذف کلمات زاید و تعارفات ابتدایی
عباراتی مانند «مشتری گرامی»، «با سلام و احترام» یا «با تشکر از انتخاب شما» فضای باارزشی را اشغال میکنند. مستقیم به سراغ اصل پیشنهاد یا پیام اصلی بروید.
استفاده از لینکهای کوتاه (Short URLs)
آدرسهای بلند اینترنتی میتوانند بیش از ۵۰ کاراکتر را بلعیده و پیامک را چندبخشی کنند. از دامنه کوتاه اختصاصی یا لینکساز درون پنل پیامک استفاده کنید.
جایگزینی اعداد فارسی و انگلیسی با دقت فنی
تایپ اعداد لاتین در میان متن فارسی، فرمت متن را تغییر نمیدهد اما در برخی کیبوردها ممکن است ساختار کاراکترها را به هم بریزد. پیش از ارسال انبوه، حتماً ارسال تست انجام دهید.
بررسی متن در پیشنمایش پنل پیامک
پیش از تایید نهایی کمپین، متن خود را در شمارشگر هوشمند پنل قرار دهید تا تعداد دقیق کاراکترها، تعداد بخشها و وجود کاراکترهای مخفی را بررسی کند.
نتیجهگیری و نکات طلایی برای کنترل طول پیامک
خلاصه و راهکار کلیدی برای کاهش هزینه پیامک
چندبخشی شدن پیامک فارسی حاصل ساختار فنی یونیکد (UCS-2) و اختصاص ۶ بایت هدر UDH برای سرهمبندی پکتها در اپراتورها است. سقف پیامک اول فارسی ۷۰ کاراکتر و بخشهای بعدی هرکدام ۶۷ کاراکتر هستند. با پاکسازی متن از کاراکترهای پنهان، کوتاه کردن لینکها و بهینهسازی کلمات، میتوانید هزینههای سامانه پیامکی خود را تا ۵۰ درصد کاهش دهید و نرخ تحویل پیامکها را به حداکثر برسانید.
سوالات متداول درباره چندبخشی شدن پیامک فارسی
چرا سقف پیامک اول فارسی ۷۰ کاراکتر است اما بخش دوم ۶۷ کاراکتر؟
زیرا هنگام چندبخشی شدن پیامک، ۶ بایت (معادل ۳ کاراکتر یونیکد) به هدر فنی UDH اختصاص مییابد تا گوشی دریافتکننده بتواند بخشهای مختلف را شناسایی و به یکدیگر متصل کند. بنابراین ظرفیت بخشهای دوم به بعد به ۶۷ کاراکتر کاهش مییابد.
آیا یک کلمه انگلیسی در متن فارسی باعث تغییر هزینه میشود؟
خیر؛ تا زمانی که حتی یک حرف فارسی در متن وجود داشته باشد، کل پیامک با استاندارد فارسی (UCS-2) محاسبه میشود و سقف آن ۷۰ کاراکتر خواهد بود. وجود کلمات انگلیسی سقف را انگلیسی (۱۶۰ کاراکتری) نمیکند.
آیا نیمفاصله تعداد کاراکتر را بیشتر از ۱ عدد افزایش میدهد؟
نیمفاصله استاندارد یونیکد (Zero Width Non-Joiner) به عنوان ۱ کاراکتر شمرده میشود، اما اگر از اسپیس معمولی یا کاراکترهای ترکیبی ناخواسته استفاده شود ممکن است حجم بیشتری اشغال کند.
چگونه بفهمیم متن پیامک ما چند بخش شده است؟
سامانههای پیامکی پیشرفته مانند ریلکس هنگام تایپ متن، تعداد کاراکتر دقیق و تعداد بخشهای پیامک را بهصورت لحظهای نمایش میدهند. همچنین در خروجی API نیز تعداد بخشها محاسبه و بازگردانده میشود.
مدیریت هوشمند و بهینه ارسال پیامک با ریلکس
سامانه پیامک ریلکس با پیشنمایش هوشمند تعداد کاراکتر، محاسبه لحظهای هزینه و پشتیبانی از انواع خطوط خدماتی و تبلیغاتی، به شما کمک میکند کمپینهای پیامکی خود را با حداکثر بازدهی و کمترین هزینه اجرا کنید.
امکانات پنل اس ام اس
نظرها و پرسشها
فقط دیدگاههای تأییدشده در سایت نمایش داده میشوند.