مشفّر PDU عبر الإنترنت لرسائل SMS-SUBMIT
حوّل رسالة إلى السلسلة السادس عشرية التي يتوقعها مودم GSM في وضع PDU. يحزم المشفّر septets الخاصة بـ GSM-7، ويبدّل إلى UCS-2 عند الحاجة، ويضيف UDH عندما تحتاج الرسالة أكثر من جزء.
رمّز رسالة إلى PDU من نوع SMS-SUBMIT
يبدأ النموذج بمثال معروف. غيّر النص أو الرقم أو الخيارات ثم اضغط «ترميز». يبني JavaScript الناتج على هذا الجهاز.
مشفّر PDU
دون اتصال| الجزء | UDH | النص في هذا الجزء |
|---|
تبدأ كل كتلة بـ ----- PDU n/total -----. في وضع PDU، أرسل hexadecimal لكل كتلة على حدة.
لا شيء مما تكتبه هنا يُرسل إلى أي مكان. تعمل الصفحة من ملف محلي أو من نسخة دون اتصال من هذا الموقع.
ما هو وضع PDU
يقدّم وضع PDU إلى المودم إطار بروتوكول كاملًا بدلًا من سلسلة نصية بسيطة.
الـ SMS ليس نصًا فقط. حول الرسالة يوجد عنوان مركز خدمة، ووجهة، ومؤشر ترميز، ومدة صلاحية، وحقل طول. في وضع النص (AT+CMGF=1) يملأ المودم هذه الحقول عنك ولا يعرض إلا الجزء المقروء. وفي وضع PDU (AT+CMGF=0) تقدّم الإطار كاملًا بصيغة سادس عشرية، فتصبح كل الحقول تحت سيطرتك.
الإطار معرّف في 3GPP TS 23.040. والأبجدية وحزمها في 7 بت معرّفان في TS 23.038. يتبع هذا المشفّر كليهما: يزيل غير الأرقام من الرقم، ويبدّل الأزواج المتبقية إلى BCD، ويضبط octet نوع العنوان، ويختار GSM-7 أو UCS-2، ويحزم septets بالترتيب، ويضبط مؤشر ترويسة بيانات المستخدم عندما تُقسَّم الرسالة.
لماذا يبدو النص غريبًا. تُحزم أحرف السبعة بت داخل octets من ثمانية، فيمكن أن يمتد septet واحد على بايتين. لذلك ليس PDU من نوع GSM-7 تفريغًا لبايت لكل حرف، وتحريره يدويًا يفسده بسهولة.
لماذا يهم أول octet. الـ octet الذي يلي مركز الخدمة يحمل نوع الرسالة ومؤشر تقرير التسليم ومؤشر التسلسل. يكتب هذا المشفّر 0x01 مع 0x40 لرسالة مقسّمة، و0x10 عند ضبط مدة صلاحية، و0x20 عند طلب تقرير.
بنية حقول SMS-SUBMIT
بقراءة الناتج من اليسار إلى اليمين، تكون الحقول:
| الحقل | Octets | ما يحمله | ما يكتبه هذا المشفّر |
|---|---|---|---|
| SCA | 1 + n | عنوان مركز الخدمة وoctet نوع عنوانه | 00 عند تركه فارغًا؛ وإلا octet الطول ونوع العنوان وأرقام BCD |
| أول octet | 1 | نوع الرسالة وصيغة الصلاحية وطلب التقرير ومؤشر ترويسة بيانات المستخدم | 01 لـ SMS-SUBMIT، مع إضافة 40 و10 و20 حسب الحاجة |
| MR | 1 | مرجع الرسالة الذي يزيده الهاتف | مرجع التسلسل، مقتطعًا إلى octet واحد؛ 00 عندما لا يُضبط |
| الوجهة | 2 + n | طول الرقم ونوع العنوان وأرقام BCD | 81 لرقم وطني، 91 عندما يبدأ الإدخال بـ + |
| PID | 1 | معرّف البروتوكول | 00، رسالة قصيرة عادية |
| DCS | 1 | الأبجدية وفئة الرسالة | 00 لـ GSM-7، و08 لـ UCS-2، و10 أو 18 لرسالة وميضية |
| VP | 0 أو 1 أو 7 | مدة الصلاحية، نسبية أو محسّنة أو مطلقة | يُحذف عند 0 ساعة؛ وإلا octet نسبي تكبر خطوته مع النطاق (5 دقائق، نصف ساعة، أيام، أسابيع) |
| UDL | 1 | طول بيانات المستخدم | عدد septets في GSM-7 (يُحسب UDH كـ septets)، وعدد octets في UCS-2 |
| UD | n | UDH اختياري مع النص المحزوم | حزم 7 بت بعد UDH محاذى للبايت، أو UCS-2 big-endian |
تستخدم مدة الصلاحية النسبية octet واحدًا: القيم 0–143 تحسب خطوات 5 دقائق حتى 12 ساعة، و144–169 خطوات نصف ساعة حتى 24 ساعة، و170–196 أيامًا حتى 30 يومًا، و197–255 أسابيع بعد ذلك، كلها من لحظة استلام مركز الخدمة للرسالة. تقبل هذه الأداة 0–8760 ساعة (نحو سنة واحدة).
GSM-7 وUCS-2 والـ SMS المتسلسل
يحمل PDU واحد 140 octet. يعتمد عدد الأحرف التي تتسع على الأبجدية وعلى وجود UDH.
| الترميز | PDU واحد | مع UDH من 8 بت | مع UDH من 16 بت |
|---|---|---|---|
| GSM-7 | 160 septet | 153 septet | 152 septet |
| UCS-2 | 70 وحدة | 67 وحدة | 66 وحدة |
UDH من 6 بايتات يشغل 48 بت، وتُقرَّب إلى 7 خانات septet في GSM-7؛ ومرجع من 16 بت يضيف octet آخر وخانة أخرى. ولهذا تكون حدود التقسيم 153 أو 152 بدلًا من 160.
يغطي GSM-7 الحروف اللاتينية والأرقام والعلامات التي تحددها أبجدية GSM الأصلية. عشرة أحرف تحتاج إلى septets اثنين: € و^ و{ و} و[ و] و~ و| والشرطة المائلة العكسية وحرف تغذية الصفحة. يكتب المشفّر رمز الهروب 1B قبل كل منها ولا يقسم زوجًا بين جزأين أبدًا. وأي حرف خارج الجدولين يفرض UCS-2، حيث يشغل كل حرف octetين وينخفض الحد إلى 70.
أمثلة محلولة
يأتي هذا الناتج من ملف الانحدار المصاحب لهذه الصفحة. المدخلات لم تتغير وقد أنتج hexadecimal المتوقع تطبيق مستقل لـ TS 23.038 / TS 23.040.
| الإدخال | الترميز | PDU |
|---|---|---|
| Hello SMSDeliverer.com! | GSM-7، رقم وطني، بلا مركز خدمة | 000100098121436587F9000017C8329BFD064D9B5362999DB697E565B96BFC6E8700 |
| € | حرف امتداد GSM-7 | 000100098121436587F90000029B32 |
| 您好,世界! | UCS-2 | 000100098121436587F900080C60A8597DFF0C4E16754CFF01 |
سجل الاختبار هو assets/js/tests/pdu-vectors.json. ويحتفظ أيضًا بسلسلة مسجلة من بناء أقدم؛ ذلك المتجه موسوم بالفشل مع تدوين عيوبه، ولا يُحرر حتى ينجح.
متى تستخدم PDU بدلًا من وضع النص
وضع النص أسهل قراءة. ووضع PDU هو الطريقة الوحيدة للتحكم في ما يُرسل فعلًا.
الرسائل الطويلة
الـ SMS المتسلسل عدة PDUs تربطها UDH. الأجزاء وترتيبها ورقم المرجع لا تظهر إلا في وضع PDU.
عمل التكامل
إذا بنيت بوابة أو بيئة اختبار أو طابورًا يدفع الإطارات إلى AT+CMGS، فأنت تحتاج الـ octets الدقيقة لا تفسير المودم لسلسلة نصية.
التشخيص
النص المشوّه والعلامات المفقودة والرسائل المقسّمة تأتي عادة من DCS خاطئ أو UDH مكسور. كلا الأمرين مرئي هنا.
يصل الوضعان إلى الشبكة نفسها وتُفوتران بالطريقة نفسها. الفرق في أين يُجمَّع الإطار: داخل المودم أو في برنامج يمكنك فحصه. وعندما يجب أن تحمل الرسالة أبجدية معينة أو مدة صلاحية أو طلب تقرير تسليم، يكون وضع PDU المسار الأقصر. ويظل لوضع النص مكان لاختبار يدوي سريع، ويمكن لمفكّك PDU في هذا الموقع قراءة أي من الإطارين عند وصوله.
أتحتاج إلى حل مؤتمت؟
هذه الصفحة أداة مرجعية. يقوم SMS Deliverer بالعمل نفسه لكل رسالة في طابور.
يقسّم تطبيق Windows الرسائل الطويلة، ويختار GSM-7 أو UCS-2، ويضبط مرجع UDH، ويعيد محاولة الأجزاء الفاشلة، ويحفظ تقرير التسليم مع جهة الاتصال. يُستخدم مسار الترميز نفسه سواء أرسلت رسالة واحدة أو بضعة آلاف، وبطاقات SIM في مودماتك تحمل الحركة.
يشرح دليل مودم GSM جانب العتاد، وتسرد صفحة برنامج سطح المكتب ميزات الإرسال والتقارير، ويقرأ مفكّك PDU الإطارات الملتقطة من مودم أو هاتف.
مشمول في ناتج المشفّر
- حزم septets GSM-7 وأزواج الامتداد
- UCS-2 مع أزواج بديلة سليمة
- مراجع تسلسل من 8 بت و16 بت
- صيغ وجهة وطنية ودولية
- مدة صلاحية نسبية وفئة وميضية
مراجعة 2026-11. تغطي تجربة مجانية مسار الإرسال من أوله إلى آخره؛ وهذه الأداة لا تحتاج ترخيصًا ولا تثبيتًا.
أسئلة يطرحها المشترون
هل هذا المشفّر مجاني وهل يحتاج حسابًا؟
هو مجاني ولا يحتاج حسابًا. الصفحة HTML وJavaScript بسيطة، وتعمل أيضًا من نسخة دون اتصال من الموقع.
لماذا يبدأ PDU الخاص بي بـ 00؟
أول octet هو طول عنوان مركز الخدمة. القيمة 00 تعني أن PDU لا يحمل مركز خدمة، فيستخدم الهاتف أو المودم المركز المحفوظ على SIM. أدخل رقم مركز خدمة إذا أردت كتابته في الإطار.
لماذا تحولت رسالة طويلة إلى عدة PDUs؟
يحمل PDU واحد 140 octet. يتسع GSM-7 لـ 160 septet، أو 153 عند وجود UDH من 6 بايتات؛ ويتسع UCS-2 لـ 70، أو 67 مع الترويسة نفسها. يُقسَّم النص عند حد حرف ويحصل كل جزء على رقم تسلسل.
هل يمكنني إرسال الناتج باستخدام AT+CMGS؟
نعم. اضبط المودم على وضع PDU بالأمر AT+CMGF=0، ثم مرّر عدد octets الإطار بعد حقل مركز الخدمة. أرسل جزءًا واحدًا في كل مرة وحافظ على الترتيب، لأن الهاتف يعيد تجميع الأجزاء بحسب مرجع UDH والتسلسل.