لماذا يختلف عدد المحارف بين الأدوات؟
لأن «المحرف» قد يعني ثلاثة أشياء: بايتات (ما يقيسه عمود قاعدة البيانات أو حد حجم جسم HTTP)، أو نقاط ترميز (ما تعدّه معظم لغات البرمجة)، أو عناقيد رسومية (ما يراه الإنسان — رمز تعبيري بلون بشرة، أو حرف عربي مع تشكيله، عنقود واحد لكنه عدة نقاط ترميز وبايتات أكثر). يعرّف يونيكود حدود العناقيد والكلمات في UAX #29؛ والتحقق من الطول الذي يعدّ بطريقة في المتصفح وبأخرى على الخادم سيقبل أو يرفض مدخلات مختلفة.
كيفية استخدام عدّاد الأحرف
- اكتب النص أو الصقه.
- راقب الأشرطة: الأزرق ضمن الحد، والكهرماني يعني استخدام 90% منه أو أكثر، والأحمر متجاوز له.
- حدّد حداً مخصصاً لحقلك أو واجهة API الخاصة بك.
مزايا عدّاد الأحرف
- الأحرف مع المسافات وبدونها، والكلمات والأسطر ووحدات UTF-16 وبايتات UTF-8
- أشرطة تقدم لحدود SMS وX/Twitter وعنوان ووصف meta وInstagram وLinkedIn وYouTube وعناوين رسائل git
- كشف تلقائي لترميز رسائل SMS: GSM-7 أو Unicode (160 مقابل 70 حرفاً)
- حد مخصص واختيار وحدة العدّ (الأحرف المرئية أو وحدات UTF-16 أو البايتات)
- تحديث فوري أثناء الكتابة
مثال على عدّاد الأحرف
فحص تغريدة
الإدخال:
Mutqan Tools: free developer & QA utilities that run in your browser 🚀النتيجة:
70 characters · X/Twitter 70 / 280 (210 left) · SMS (Unicode) 71 / 70 (over by 1)الأسئلة الشائعة حول عدّاد الأحرف
ما الحدود المدمجة؟
رسائل SMS (160 بترميز GSM-7 أو 70 بترميز Unicode)، ومنشورات X/Twitter (280)، وعنوان meta (60)، ووصف meta (160)، وتعليقات Instagram (2,200)، ومنشورات LinkedIn (3,000)، وعناوين YouTube (100)، وعناوين رسائل git commit (72)، إضافةً إلى حد مخصص تحدده بنفسك.
لماذا يتغير حد SMS إلى 70؟
إذا احتوى النص على أي حرف خارج أبجدية GSM-7 (مثل الحروف العربية أو أي رمز تعبيري)، تنتقل شركات الاتصالات إلى ترميز UCS-2 فلا يتسع المقطع الواحد إلا لـ 70 وحدة UTF-16، ولذلك يُحسب رمز تعبيري مثل 🚀 وحدتين. وتَعُدّ أشرطة SMS دائماً بوحدات الترميز نفسه أياً كان خيار «العدّ حسب» (Count by)؛ وفي GSM-7 يشغل كلٌّ من الأحرف ^ { } \ [ ] ~ | € موضعين من المواضع الـ 160.
كيف ينبغي أن أعدّ الأحرف لمنصة Twitter/X؟
تعدّ X معظم الأحرف كحرف واحد، لكنها تعدّ أحرف CJK بحرفين وعناوين URL بـ 23 حرفاً. تعدّ هذه الأداة الأحرف المرئية؛ استخدم وضع «وحدات UTF-16» للحصول على تقدير أكثر صرامة.
هل يشمل العدّ المسافات وفواصل الأسطر؟
العدّ الرئيسي يشملها؛ ويستثني رقم منفصل جميع المسافات البيضاء. وتُعدّ الأسطر بحسب فواصل الأسطر.
المراجع
- UAX #29: Unicode Text Segmentationكيفية تقسيم النص إلى عناقيد رسومية وكلمات وجمل — ولماذا قد يختلف عدد «الأحرف» عن عدد نقاط الترميز أو البايتات.
- UAX #15: Unicode Normalization Formsصيغ التطبيع NFC وNFD وNFKC وNFKD — سبب اختلاف سلسلتين متطابقتين بصرياً عند المقارنة قبل التطبيع.
- RFC 3629: UTF-8, a transformation format of ISO 10646كيف تُرمَّز نقاط الترميز إلى بايت واحد حتى أربعة بايتات في UTF-8، وأي تسلسلات بايت غير صالحة.