كم حرفًا تتسع له رسالة SMS؟ الفرق بين GSM-7 ويونيكود وطريقة حساب الأجزاء
الرسالة الواحدة تتسع لـ160 حرفًا بترميز GSM-7 أو 70 بيونيكود، وكل جزء من الرسالة الطويلة 153 أو 67. تعرّف على الأحرف التي تغيّر الترميز وكيف تحسب.

تحمل الرسالة النصية الواحدة 140 بايتًا من النص. وهذا يعني 160 حرفًا بترميز GSM السباعي أو 70 حرفًا بترميز UCS-2 (يونيكود). وعند تجاوز ذلك تُقسَّم الرسالة وتفقد كل قطعة جزءًا من مساحتها لرأس تعريفي، فتتسع لـ153 أو 67 حرفًا. وحرف واحد خارج مجموعة GSM-7، مثل حرف عربي أو فاصلة عليا منحنية أو إيموجي، يحوّل الرسالة كلها إلى UCS-2 وقد يضاعف عدد الأجزاء.
رقم 160 ليس عرفًا شائعًا في الرسائل، بل نتيجة حجم الحمولة في الشبكة: 140 بايتًا من بيانات المستخدم لكل رسالة. وما يتسع في هذه البايتات من أحرف يتوقف على الترميز، والترميز يُختار لكل رسالة بحسب الأحرف التي تكتبها. يشرح هذا الدليل الحساب، ويحدد الأحرف التي تستهلك وحدتين أو تفرض تبديل الترميز، ويعرض أمثلة محسوبة يمكنك التحقق منها بنفسك.
من أين جاء الرقمان 160 و70؟
تحدد مواصفة 3GPP لخدمة الرسائل القصيرة نص الرسالة بما لا يزيد على 140 بايتًا. ويخزّن الأبجدية الافتراضية GSM السباعية كل حرف في 7 بتات، فتتسع 140 بايتًا لـ (140 × 8) ÷ 7 = 160 حرفًا. أما UCS-2 فيستعمل 16 بتًا للحرف، فتتسع البايتات نفسها لـ70 حرفًا. الرقمان وردا في المواصفة نفسها، وليسا سياسة من أي مشغّل.
| الترميز | بتات الحرف | رسالة واحدة | كل جزء من رسالة طويلة |
|---|---|---|---|
| أبجدية GSM السباعية | 7 | 160 حرفًا | 153 حرفًا |
| UCS-2 (يونيكود 16 بت) | 16 | 70 حرفًا | 67 حرفًا |
| بيانات 8 بت | 8 | 140 بايتًا | 134 بايتًا |
يُحدَّد الترميز المستعمل في حقل مخطط ترميز البيانات داخل الرسالة، ويختاره هاتفك أو بوابة الرسائل تلقائيًا: إن كانت كل الأحرف ضمن أبجدية GSM فالترميز سباعي، وإن وُجد حرف واحد خارجها انتقلت الرسالة كلها إلى UCS-2. لا يوجد ترميز مختلط داخل الرسالة الواحدة.
لماذا تتسع كل قطعة من الرسالة الطويلة لعدد أقل؟
إذا زادت الرسالة على الحد قُطّعت إلى أجزاء، ويحتاج كل جزء إلى معلومة تخبر الهاتف كيف يعيد تركيبها. تفعل المواصفة ذلك برأس بيانات في أول الحقل يستهلك 6 من البايتات الـ140، فيبقى 134 بايتًا. وتنص المواصفة على أن الحد للنص السباعي 153 حرفًا (160 ناقص 7)، ولـUCS-2 هو 67 حرفًا ((140 − 6) ÷ 2).
وتضع المواصفة نفسها سقفًا قدره 255 جزءًا للرسالة المتسلسلة، أي 39015 حرفًا بـGSM-7 أو 17085 حرفًا بـUCS-2. عمليًا، سيرفض مزوّد الرسائل لديك أو يقتطع قبل هذا بكثير، فاعرف حده هو لا حد المواصفة.
وهناك قاعدتان تؤثران في العدّ: الحرف المُرسَل بتسلسل هروب لا يُقسَّم بين جزأين، وحرف UCS-2 لا يُقسَّم من منتصفه. فإن لم يتسع الحرف التالي كاملًا انتقل إلى الجزء الذي يليه، وقد ينتهي جزء قبل حجمه الاسمي بحرف.
الأحرف التي تستهلك وحدتين
لأبجدية GSM جدول أساسي وجدول امتداد يُوصَل إليه برمز هروب. يُرسَل حرف الامتداد في وحدتين (septet): رمز الهروب ثم الحرف. وهو يبقى ضمن GSM-7 فلا يفرض يونيكود، لكنه يستهلك وحدتين من الـ160. وجدول الامتداد يضم:
| الحرف | اسمه | الوحدات المستهلكة |
|---|---|---|
^ | علامة الإقحام | 2 |
{ } | الأقواس المعقوفة | 2 لكل منهما |
[ ] | الأقواس المربعة | 2 لكل منهما |
~ | التيلدا | 2 |
| | الخط العمودي | 2 |
\ | الخط المائل العكسي | 2 |
€ | علامة اليورو | 2 |
ويحوي الجدول الأساسي بعض الحروف المشكّلة (مثل é وñ وü وà) ورموزًا مثل £ و¥ و@ و$، وكلها وحدة واحدة. لكنه يخلو من حروف أخرى قد تتوقعها، فاختبر نصك بدل افتراض أن كل حرف أوروبي مشمول.
الأحرف التي تقلب الرسالة كلها إلى يونيكود
أي حرف خارج الجدولين يفرض UCS-2. والمتسبّب الأكثر شيوعًا في النصوص الإنجليزية التسويقية هو علامات الترقيم الطباعية التي تدرجها برامج التحرير تلقائيًا:
- الفاصلة العليا المنحنية
’بدل المستقيمة'. - علامتا التنصيص المنحنيتان
“و”. - الشرطة المتوسطة
–والطويلة—. - حرف الحذف
…بدل ثلاث نقاط عادية. - المسافة غير القابلة للكسر المنسوخة من صفحات ويب أو مستندات.
- الإيموجي، وكل الحروف العربية والصينية والسيريلية (عدا بضعة حروف يونانية كبيرة في جدول GSM) وغيرها من الكتابات.
والإيموجي خارج نطاق الـ16 بتًا، فيكتبه مرمّز UCS-2 أو UTF-16 عادةً في وحدتين من 16 بتًا، أي أن إيموجي واحدًا قد يشغل خانتين من الـ70. تختلف البوابات في التعامل مع ذلك، فتحقق من سلوك مزوّدك.
أمثلة محسوبة يمكنك التحقق منها
الأعداد التالية تتبع القواعد أعلاه: وحدات GSM-7 (حرف الامتداد = 2)، وحجم الجزء 160 أو 153 لـGSM-7 و70 أو 67 لـUCS-2. وقد فُحصت كلها بسكربت مستقل مبني على جداول الأبجدية.
| الرسالة | الأحرف | الترميز | الوحدات | الأجزاء |
|---|---|---|---|---|
Your code is 482913. It expires in 10 minutes. | 46 | GSM-7 | 46 | 1 |
Sale: 20% off all items {today} only | use code SAVE20 [terms apply] | 68 | GSM-7 | 73 | 1 |
Price: 25€ only | 15 | GSM-7 | 16 | 1 |
159 حرفًا لاتينيًا عاديًا يليها € | 160 | GSM-7 | 161 | 2 |
| 160 حرفًا لاتينيًا عاديًا | 160 | GSM-7 | 160 | 1 |
| 161 حرفًا لاتينيًا عاديًا | 161 | GSM-7 | 161 | 2 |
| 306 أحرف لاتينية عادية | 306 | GSM-7 | 306 | 2 |
| 307 أحرف لاتينية عادية | 307 | GSM-7 | 307 | 3 |
| 70 حرفًا عربيًا | 70 | UCS-2 | 70 | 1 |
| 71 حرفًا عربيًا | 71 | UCS-2 | 71 | 2 |
| 135 حرفًا عربيًا | 135 | UCS-2 | 135 | 3 |
| 160 حرفًا لاتينيًا مع فاصلة عليا منحنية واحدة | 160 | UCS-2 | 160 | 3 |
الصف الرابع يبيّن المفاجأة الأكثر تكرارًا: الرسالة بطول 160 حرفًا تمامًا لكنها تحتاج جزأين لأن علامة اليورو تكلّف وحدتين. والصف الأخير الأغلى كلفة: رسالة إنجليزية من 160 حرفًا تتسع لجزء واحد تصير ثلاثة أجزاء (160 ÷ 67 مقرّبًا لأعلى = 3) بمجرد أن تكون فاصلة عليا واحدة منحنية.
عدّاد الكلمات والأحرفعدّ يدعم Unicode ووقت القراءة وحدود المنصاتافتح الأداة →تعرض الأداة أعلاه الترميز وعدد الوحدات وعدد الأجزاء لأي نص تلصقه، وتعمل داخل متصفحك فلا يُرسَل نص رسالتك إلى أي مكان.
طريقة حساب الأجزاء يدويًا
- حدّد الترميز: إن كانت كل الأحرف من الجدول الأساسي أو جدول الامتداد فهو GSM-7، وإلا فهو UCS-2.
- عُدّ الوحدات. في GSM-7 احسب وحدة للحرف الأساسي ووحدتين لحرف الامتداد. وفي UCS-2 وحدة لكل حرف (ووحدتان للإيموجي خارج النطاق الأساسي).
- إن كانت الوحدات 160 فأقل في GSM-7 أو 70 فأقل في UCS-2 فهي جزء واحد.
- وإلا اقسم على 153 (GSM-7) أو 67 (UCS-2) وقرّب لأعلى.
الخطوة الرابعة تقدير دقيق في الغالب، لكن لأن المواصفة لا تفصل زوج الهروب ولا حرف UCS-2، قد يحتاج نص فيه أحرف امتداد كثيرة عند الحدود إلى جزء إضافي عمّا تعطيه القسمة. وحين تهمّك الفاتورة بدقة، أرسل رسالة اختبار عبر بوابتك واقرأ عدد الأجزاء الذي تُبلغ عنه.
طرق عملية لتقصير الرسالة
- استبدل علامات الترقيم بالمستقيمة. غيّر الفواصل والتنصيصات المنحنية والشرطات الطويلة وحرف الحذف إلى نظيرها العادي قبل الإرسال. هذا أرخص إصلاح وكثيرًا ما يوفّر عدة أجزاء.
- اكتب العملة بحروفها. كتابة EUR بدل علامة اليورو توفّر وحدة؛ أما الجنيه والين فوحدة واحدة في GSM-7.
- تجنّب الأقواس المعقوفة والمربعة في القوالب إلا للضرورة. أقواس حقول الدمج مثل
{name}تختفي بعد الاستبدال، لكن افحص النص النهائي لا القالب. - قِس الرسالة بعد الدمج، أي بعد إدخال الأسماء والروابط. قالب قصير قد يتجاوز جزءًا واحدًا إذا دخل فيه اسم طويل.
- اتخذ قرارًا واعيًا بشأن العربية والإيموجي. إن كان جمهورك يقرأ العربية فـUCS-2 لا مفر منه، فخطّط على أساس 70 و67 حرفًا لا 160 و153.
أخطاء شائعة
- عدّ الأحرف بدل الوحدات. صفّا اليورو والأقواس أعلاه يظهران 160 حرفًا تحتاج جزأين.
- الاختبار في محرر بسيط والإرسال من محرر منسّق. الفاصلة المنحنية غالبًا لا تُرى إلى أن يتغير الترميز.
- افتراض أن 160 تنطبق على كل اللغات. حرف عربي واحد يجعل الحد 70 للنص كله، و67 بعد التقسيم.
- افتراض أن كل الهواتف تدعم كل الأحرف. الجهاز الذي لا يدعم جدول الامتداد يعرض رمز الهروب مسافة، فتجنّب أحرف الامتداد في ما هو حرج كالرموز والروابط.
وإن كنت تكتب بريدًا إلكترونيًا أيضًا فالانضباط نفسه، أي قياس النص النهائي بعد التوليد، ينطبق على سطر الموضوع: انظر كتابة سطر موضوع فعّال وكيف تبني رابط mailto بموضوع ونص. وللقواعد على مستوى العنوان البريدي يغطي دليل صياغة عنوان البريد ما هو صالح.
أسئلة شائعة
كم حرفًا في رسالة SMS الواحدة؟
تتسع الرسالة الواحدة لحتى 160 حرفًا إذا كانت كل الأحرف من أبجدية GSM السباعية، أو لحتى 70 حرفًا إذا استعملت ترميز UCS-2 (يونيكود).
لماذا تُحسب رسالتي ذات الـ160 حرفًا رسالتين؟
بعض الأحرف، مثل اليورو والأقواس المعقوفة والمربعة والتيلدا والخط العمودي والخط المائل العكسي وعلامة الإقحام، تستهلك وحدتين في GSM-7. فتحتاج أحرفك الـ160 إلى أكثر من 160 وحدة وتنقسم الرسالة.
لماذا لا يتسع الجزء من الرسالة الطويلة إلا لـ153 حرفًا؟
يحمل كل جزء رأسًا يخبر الهاتف كيف يعيد تركيب الأجزاء. يستهلك الرأس 6 بايتات، فيبقى 153 حرفًا سباعيًا (أو 67 حرف UCS-2) للجزء.
هل يجعل إيموجي واحد الرسالة كلها يونيكود؟
نعم. الإيموجي ليس في أبجدية GSM، فتنتقل الرسالة كلها إلى UCS-2 بحدّيها 70 و67 حرفًا.
كم جزءًا يمكن أن تضم الرسالة المتسلسلة؟
تسمح المواصفة بحتى 255 جزءًا، أي 39015 حرفًا بـGSM-7 أو 17085 حرفًا بـUCS-2. وقد يضع مزوّد الرسائل حدًا أقل.


