كشف الترميز يعني التحقق مما إن كان كل محرف ضمن أبجدية GSM-7؛ فإن لم يكن ولو واحد، تصبح الرسالة كاملة UCS-2 وتنخفض السعة من 160 إلى 70 محرفًا. ولأن SMS تُفوتَر لكل جزء، فإن رمزًا تعبيريًا شاردًا واحدًا أو علامة اقتباس مقوّسة قد يضاعف تكلفة الرسالة أو يثلّثها.
كيف تكشف GSM-7 مقابل UCS-2
القاعدة بسيطة ومطلقة: إن كان كل محرف في الرسالة موجودًا في جدول GSM-7 الأساسي أو جدول الامتداد، يمكن إرسالها كـ GSM-7؛ وإن لم يكن أي محرف كذلك، يجب أن تستخدم الرسالة كاملة UCS-2. فالكشف اختبار انتماء إلى مجموعة أبجدية GSM-7، مطبَّق على السلسلة كاملة، مع تذكّر أن محارف الامتداد العشرة تُحسَب سبتِتَين لكل منها.
for each character c in message:
if c not in GSM7_BASIC and c not in GSM7_EXTENSION:
encoding = UCS-2 # one stray char forces the whole message
break
else:
encoding = GSM-7المحارف التي تفرض UCS-2 بهدوء
المحارف المكلفة هي تلك التي يُدخِلها المستخدمون دون أن يلاحظوا. تستبدل معالجات النصوص والهواتف علامات الاقتباس والشرطات المستقيمة بنسخ طباعية ليست في GSM-7. والرموز التعبيرية ليست في GSM-7 أبدًا. والأسماء غير اللاتينية وأي حرف مشكَّل خارج مجموعة تشكيل GSM-7 تفعل الشيء نفسه. وتنقية هذه قبل الإرسال — باستبدال الترقيم الذكي بـ ASCII، والتحويل الحرفي حيثما يُقبَل — تبقي الرسائل على GSM-7.
| الحرف المسبب | بديل آمن لـ GSM-7 |
|---|---|
| ' ' (علامات اقتباس مفردة متعرجة) | ' (فاصلة علوية مستقيمة) |
| “ ” (علامات اقتباس مزدوجة منحنية) | " (علامة اقتباس مستقيمة) |
| – — (شرطة en/شرطة em) | - (الواصلة) |
| … (علامة الحذف) | ... (ثلاث نقاط) |
| الرموز التعبيرية | (إزالة، أو وصف بالكلمات) |
| مسافة غير فاصلة | (مسافة عادية) |
كيف يقود الترميز عدد الأجزاء
تُحاسَب SMS لكل جزء، ويحدّد الترميز كم جزءًا تحتاج الرسالة. والعتبات ثابتة: يمنح GSM-7 عدد 160 في جزء واحد ثم 153 لكل جزء؛ ويمنح UCS-2 عدد 70 ثم 67. فرسالة بطول 75 محرفًا جزء واحد في GSM-7 لكن جزأان في UCS-2. ورسالة ترويجية بطول 160 محرفًا مع رمز تعبيري واحد تقفز من جزء واحد إلى ثلاثة. والترميز أكبر عامل قابل للتحكم في تكلفة الرسالة الواحدة.
| الأجزاء | رموز GSM-7 | رموز UCS-2 |
|---|---|---|
| 1 | 1 – 160 | 1 – 70 |
| 2 | 161 – 306 | 71 – 134 |
| 3 | 307 – 459 | 135 – 201 |
| n (n ≥ 2) | 153 × n | 67 × n |
التحكم العملي بالتكلفة
ثلاث عادات تبقي تكلفة SMS متوقعة. أولًا، تحقّق من محارف كل رسالة صادرة ونقِّها، مع تعليم أي شيء يفرض UCS-2. ثانيًا، أبقِ القوالب ضمن جزء GSM-7 واحد (≤160 محرفًا) حيثما تسمح الرسالة. ثالثًا، قِس عدد الأجزاء المحقَّق لكل رسالة ولكل حملة، لأن ذلك — لا عدد المحارف — هو ما تُفوتَر عليه. وتجعل حاسبة الأجزاء المقايضة مرئية قبل الإرسال.
الأسئلة المتكررة
كيف أعرف إن كانت رسالتي GSM-7 أم UCS-2؟
افحص كل محرف مقابل أبجدية GSM-7. إن كانت كل المحارف في جدول GSM-7 الأساسي أو جدول الامتداد فهي GSM-7؛ وإن لم يكن أي محرف كذلك فالرسالة كاملة UCS-2. ويؤتمِت مدقّق GSM-7 / يونيكود ذلك ويبرز المحارف المخالفة.
كم يكلّفني رمز تعبيري واحد في SMS؟
قد يكلّف كثيرًا. رمز تعبيري واحد يفرض الرسالة كاملة إلى UCS-2، ما يُسقِط السعة من 160 إلى 70 محرفًا. فرسالة بطول 160 محرفًا مع رمز تعبيري واحد تنتقل من جزء واحد إلى ثلاثة، ما يثلّث التكلفة تقريبًا.
كيف تُفوتَر SMS متعددة الأجزاء؟
يُفوتَر كل جزء كرسالة SMS منفصلة. فرسالة تنقسم إلى ثلاثة أجزاء تُحاسَب كثلاث رسائل. ولهذا فإن الترميز، الذي يضبط السعة لكل جزء، أكبر رافعة على التكلفة.
كيف أبقي الرسائل على GSM-7؟
نقِّ المدخل قبل الإرسال: استبدل علامات الاقتباس المقوّسة والشرطات بمكافئات ASCII، واحذف الرموز التعبيرية، وحوّل التشكيلات الشاردة حرفيًا حيثما يُقبَل. وأبقِ القوالب ضمن 160 محرف GSM-7 كي تظل جزءًا واحدًا.
هل عدد المحارف أم عدد الأجزاء يحدّد التكلفة؟
عدد الأجزاء. رسالتان بعدد المحارف نفسه قد تكلّفان مبالغ مختلفة إن استخدمت إحداهما UCS-2. قِس دائمًا الأجزاء المحقَّقة لكل رسالة، لا طول المحارف الخام.
مواصفات المصدر
تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.