محمود عبدالنبي
الأتمتة · أداة تفاعلية · 2

دليل المستودع: حاسبة تجزئة رسائل SMS وترشيد تكلفتها

صفحة تعريفية مستقلة بمستودع حاسبة تجزئة رسائل SMS وترشيد تكلفتها. توضّح ما الذي يحاول حله، ولمن يناسب، وما الملفات التي ستجدها قبل الانتقال إلى المصدر.

المشكلة التي يعالجها

يوضح التوثيق الأصلي نطاق المشكلة بهذا الوصف:

Build an open-source SMS character and encoding cost calculator: 1) Single-file responsive HTML/JS tool (sms_calculator.html) with real-time character counter, GSM-7 vs UCS-2 encoding detection, segment count split (160/153 vs 70/67), and highlighting of offending non-GSM characters, 2) Python CLI script (sms_linter.py) for automated batch testing, 3) Cost estimation worksheet.

لمن صُمم؟

الجمهور المحدد في README: BOTH operating in high-growth e-commerce, digital publishing, and direct-response marketing across Saudi Arabia, UAE, and Egypt.

محتويات المستودع

الملفات الأساسية التي يسردها قسم بنية المستودع في README:

  • docs/gsm7-vs-ucs2-explanation.md
  • examples/cost_overage_scenarios.json
  • index.html
  • LICENSE
  • README.md
  • src/sms_calculator.py
  • src/sms_linter.py
  • tests/test_calculator.py
  • tests/test_linter.py
  • tools/sms_calculator.html

طريقة مراجعته واستخدامه

  1. ابدأ بقراءة README وتأكد أن المشكلة المذكورة تطابق احتياجك الفعلي.
  2. افحص الملفات المذكورة أعلاه؛ أسماء الملفات توضح مكان البيانات والأدوات والقوالب والاختبارات.
  3. اتبع Quick Start الموجود في README، وتحقق من المتطلبات قبل تشغيل أي أمر.
  4. قارن المخرجات بعينة موثقة، وراجع القيود قبل استخدامها في قرار أو عمل عميل.

أمثلة أوامر البدء من README: python -m unittest discover -s tests · python src/sms_calculator.py --text "عزيزي العميل، تم تجهيز طلبك رقم 123 بنجاح وسيصلك غداً." --rate 0.15 --currency SAR · python src/sms_linter.py --help

النطاق والقيود

  • 3GPP GSM 03.38 Concatenation: Single GSM-7 messages allow up to 160 characters. Concatenated multi-part messages require a 7-byte UDH header, reducing payload capacity to 153 characters per segment.
  • UCS-2 Arabic Multi-Part Limits: Single Arabic messages allow up to 70 characters. Concatenated messages reduce payload capacity to 67 characters per segment.
  • Unicode Supplementary Plane & Surrogate Pairs: Characters outside the Basic Multilingual Plane (> U+FFFF, such as emojis 🚀, 🎉) require 2 UTF-16 code units (surrogate pair) in UCS-2 transmission, consuming 2 units towards the 70 / 67 segment limit.
  • Escape Character Double-Weighting: GSM 03.38 extension characters (| ^ € { } [ ] ~ \) require an escape octet (0x1B), consuming 2 characters from the segment limit.
  • Dynamic Pricing Reliance: Carrier SMS costs vary across Saudi Arabia, UAE, and Egypt; calculation relies strictly on the user-provided per-segment unit rate.

هذه الصفحة تلخص التوثيق المتاح ولا تثبت أداءً أو نتيجة تجارية. تحقق من صلاحية البيانات والمتطلبات قبل الاستخدام.

مستودعات مرتبطة