BroadNet
ترميز رسائل SMSمجموعات المحارف

UCS-2 ورسائل يونيكود

آخر تحديث 2 دقائق للقراءةقائم على المعايير
إجابة مباشرة

UCS-2 هو الترميز 16-بت الذي تستخدمه SMS لأي نص يحتوي محارف خارج أبجدية GSM-7 — كتابات غير لاتينية، ورموز تعبيرية، وعلامات اقتباس مقوّسة. ويأخذ كل محرف بايتين، فتحمل رسالة UCS-2 واحدة 70 محرفًا وتحمل الأجزاء المدموجة 67 لكل منها. ويفرض محرف واحد غير GSM-7 الرسالة كاملة إلى UCS-2.

§01

لماذا تحتاج SMS إلى UCS-2

تغطي GSM-7 فقط 128 محرفًا مع مجموعة امتداد صغيرة. وأي شيء آخر — العربية والصينية والسيريلية والعبرية والتايلندية والرموز التعبيرية، وحتى المحارف الطباعية مثل علامات الاقتباس المقوّسة والشرطات — غير قابل للتمثيل. ولتلك، تتحوّل SMS إلى UCS-2، وهو ترميز ثابت العرض بطول 16-بت (فعليًا UTF-16 big-endian للمستوى متعدد اللغات الأساسي). ويُشار إليه بقيمة data_coding بقيمة 0x08.

§02

السعة: 70 و67

حقل بيانات مستخدم SMS يبلغ 140 بايت. وبمعدّل بايتين لكل محرف، يتّسع UCS-2 لـ 70 محرفًا في رسالة واحدة. وحين تُدمَج الرسالة، تستهلك ترويسة بيانات المستخدم بطول 6 بايت من الحمولة، فتبقى 134 بايت — 67 محرفًا لكل جزء. وهذا أقل من نصف سعة GSM-7، ولهذا لاختيار الترميز أثر تكلفة كبير.

سعة كل رسالة حسب الترميز
الترميزSMS مفردلكل مقطع من الرسالة المدمجة
GSM-7 (7-bit)160 حرفاً153 حرفاً
ثنائي 8-bit140 بايت134 بايت
UCS-2 (16-bit)70 حرفاً67 حرفاً
§03

ما الذي يُفعِّل UCS-2

الترميز كل-أو-لا-شيء لكل رسالة: محرف واحد خارج GSM-7 يفرض الرسالة كاملة إلى UCS-2، ما يُسقِط السعة من 160 إلى 70. والمذنبون الشائعون يسهل إدخالهم بغير قصد — فاصلة عليا مقوّسة من معالج نصوص، أو شرطة طويلة، أو رمز تعبيري، أو اسم غير لاتيني. وكشف هذه قبل الإرسال أكبر رافعة على تكلفة SMS.

محارف تفرض UCS-2
الفئةأمثلة
الرموز التعبيرية😀 ✅ 🚀 ❤️
علامات الترقيم الطباعية' ' “ ” – — …
النصوص غير اللاتينيةالعربية · 中文 · Кириллица · עברית · ไทย
الأحرف ذات العلامات غير الموجودة في GSM-7â ê î ô û ã õ ą ę ř
§04

تحذير الأزواج البديلة (surrogate pairs)

UCS-2 صارم بطول 16-بت ويغطي المستوى متعدد اللغات الأساسي في يونيكود. أما المحارف فوق U+FFFF — كثير من الرموز التعبيرية الحديثة مثلًا — فتُمثَّل في UTF-16 كأزواج بديلة من وحدتي رمز بطول 16-بت، فيستهلك رمز تعبيري واحد أربعة بايتات (محرفَي UCS-2). لذا قد تُحسَب رسالة تبدو رمزًا واحدًا كمحرفين ضمن حدّ 70/67.

التعليمات

الأسئلة المتكررة

كم محرفًا يتّسع في رسالة يونيكود؟

70 محرفًا في رسالة UCS-2 واحدة، و67 لكل جزء حين تُدمَج الرسالة. لأن كل محرف 16 بت (بايتان) مقابل حدّ حمولة SMS البالغ 140 بايت.

ما الذي يجعل SMS تتحوّل إلى UCS-2؟

أي محرف واحد خارج أبجدية GSM-7 — رمز تعبيري أو علامة اقتباس مقوّسة أو شرطة طويلة أو نص غير لاتيني — يفرض الرسالة كاملة إلى UCS-2. ويُختار الترميز لكل رسالة لا لكل محرف.

هل UCS-2 هو نفسه UTF-16؟

تقريبًا. UCS-2 ثابت بطول 16-بت ويغطي المستوى متعدد اللغات الأساسي. وتعامل SMS الحمولة كـ UTF-16 big-endian، لذا تصبح المحارف فوق U+FFFF (كثير من الرموز التعبيرية) أزواجًا بديلة وتأخذ أربعة بايتات.

لماذا يُحسَب رمز تعبيري واحد أحيانًا كمحرفين؟

الرموز التعبيرية فوق U+FFFF تُرمَّز كأزواج بديلة في UTF-16 — وحدتا رمز بطول 16-بت — فيستهلك المحرف الواحد فتحتين من فتحات محارف UCS-2 المتاحة البالغة 70 (أو 67).

كيف أتجنّب إرسال UCS-2 بغير قصد؟

نقِّ المدخل قبل الإرسال: استبدل علامات الاقتباس والشرطات الذكية بمكافئاتها ASCII، واحذف أو حوّل التشكيلات الشاردة، وافحص الرموز التعبيرية. ويعلّم مدقّق GSM-7 / يونيكود المحارف الدقيقة التي تفرض UCS-2.

مراجع

مواصفات المصدر

تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.

BNتتم صيانته بواسطة فريق الهندسة BroadNet·خدمة الرسائل عالية الجودة منذ عام 2003
ضعه على السلك

قم بالبناء باستخدام ربط SMPP حقيقي وواجهة برمجة تطبيقات REST.

اطلب الوصول التجريبي باستخدام مفاتيح اختبار حقيقية: أرسل أولاً إلى رقمك الذي تم التحقق منه، ثم انتقل إلى الإنتاج عبر أكثر من 200 دولة بمجرد الموافقة على معرّف المُرسِل ومساراته.