عدّ الأحرف
الصق Hello World لترى دفعة واحدة 11 حرفًا مع المسافات و10 بدونها و11 بايتًا بترميز UTF-8. تحقّق من العناوين والنبذ ومسودات الرسائل القصيرة والنماذج قبل النشر. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello World
- الأحرف
- 11
- الأحرف بلا مسافات
- 10
- المسافات
- 1
- البايتات
- 11
تقيس أداة عدّ الأحرف هذه أي سلسلة نصية غير فارغة وتُعيد ثلاثة مقاييس أساسية دفعة واحدة: إجمالي عدد الأحرف بما في ذلك المسافات، وعدد الأحرف بعد إزالة كل الفراغات، وطول UTF-8 بالبايت للسلسلة نفسها. المحرك حتمي بالكامل: يستخدم طول السلسلة النظامي للأحرف، وإزالة فراغ واحدة لإجمالي بلا مسافات، ومرور TextEncoder قياسي للبايتات. لا يوجد اتصال بالشبكة، ولا أخذ عينات، ولا اختصارات مرتبطة بالتاريخ.
ثلاثة أرقام لثلاثة أنواع من الحدود
عند لصق Hello World تحصل على 11 حرفًا مع المسافات و10 بدونها و11 بايتًا. الرقم الأول يعدّ كل ما كتبته: الحروف والمسافات وعلامات الجدولة وفواصل الأسطر وعلامات الترقيم. والثاني يحذف كل أنواع الفراغ ويعدّ ما يتبقى، وهو الرقم الذي تهتم به أدوات تصحيح المقالات وقواعد النماذج التي تتجاهل الحشو. أما الثالث فهو حجم النص بالبايت بترميز UTF-8، وهي الوحدة المهمة حين يحدد عمود في قاعدة بيانات أو نظام ما الطول بالبايت لا بالأحرف الظاهرة.
لماذا قد يكون نص قصير أطول من المسموح
الحرف المشكّل مثل é يبدو حرفًا واحدًا ويُعدّ كذلك، لكنه يشغل بايتين. والرموز التعبيرية وبعض الرموز النادرة توسّع هذا الفرق أكثر. لذلك قد يتسع عنوان في المحرر ثم يتجاوز حدًا مقيسًا بالبايت، فراجع الرقمين قبل النشر. ولا يُعدّ النص الفارغ صفرًا، بل تطلب الأداة نصًا حتى لا يمرّ نموذج فارغ كنتيجة صحيحة.
ما معنى عدّ الأحرف وما الذي يحتويه الرد
يجيب عدّ الأحرف عن سؤال منتج بسيط: كم طول هذه السلسلة عندما تُحسَب المسافات، وعندما لا تُحسَب، وعندما تكون صيغة النقل بايتات UTF-8 بدل الرموز المرئية. يشمل إجمالي الأحرف كل وحدة رمز في سلسلة جافاسكريبت، فتُضاف المسافات وعلامات الجدولة والأسطر الجديدة وعلامات الترقيم جميعها إلى الإجمالي مع المسافات. يزيل عدد الأحرف بلا مسافات كل تطابق فراغ يونيكود من تلك السلسلة ويعيد عدّ ما تبقى، وهو الرقم الذي تهتم به كثير من أدوات المقالات ومدقّقي النماذج عندما تمنع الحشو.
غالبًا ما تبقى الحروف المشدَّدة مثل é حرفًا واحدًا بينما تستهلك بايتين من UTF-8، ويمكن للرموز التعبيرية أو الرموز خارج BMP أن توسّع الفجوة أكثر، فنشر كلا المقياسين يمنع المفاجأة الكلاسيكية لسلسلة تبدو قصيرة في محرر لكنها تفيض عن ميزانية بايت. لا يوجد وضع عدّ كلمات أو زمن قراءة في هذه الصفحة، ولا تحويل صامت ل null إلى نجاح فارغ، ولا نموذج لغوي تقريبي يقدّر الطول.
أين يُستخدم عدّ الأحرف في الكتابة والحدود والبرمجيات
يواجه الطلاب حدود الأحرف عندما يحد سؤال الإجابات، أو عندما يرفض نموذج مسابقة عناوين طويلة، أو عندما يطلب مختبر برمجي فحوص طول سلسلة قبل التسلسل. ويستطيع المعلمون توليد مفاتيح إجابة مسبقًا تُظهر الإجماليين المتوقعين مع المسافات وبدونها دون الوثوق بوحدات ماكرو مكتبية مبهمة تعدّ بشكل مختلف عبر اللغات. وتلصق فرق التواصل الاجتماعي والتسويق العناوين والسير الذاتية ومسودات الرسائل النصية ونص الإعلانات في عدّاد حتى تعرف إن كان السطر لا يزال يلائم بعد تعديل أخير.
وتقيس فرق الدعم والعمليات مواضيع تذاكر صاخبة وسطور سجل حتى لا تتجاوز لوحات المعلومات والمصدِّرات حدود الأعمدة. اجمعها مع أدوات الأحرف الكبيرة أو slug أو الترميز عند بناء مختبر صغير من مساعدات نصية مجانية وحتمية للنماذج وتحضير أنظمة إدارة المحتوى ونظافة البيانات.
حالات الاستخدام
البقاء ضمن حدود المنصات
تحقق من العناوين والسير الذاتية ومسودات الرسائل النصية وحقول النماذج مقابل حدود الأحرف والبايتات قبل النشر أو الإرسال.
الأسئلة الشائعة
لماذا يكون bytes أحيانًا أكبر من chars؟
bytes هو حجم ترميز UTF-8. الحروف المشدَّدة والرموز التعبيرية وكثير من الرموز غير اللاتينية تستخدم أكثر من بايت واحد بينما لا تزال تُحسَب كحرف واحد أو أكثر.
ماذا يحدث إذا كان النص فارغًا؟
أدخل سلسلة غير فارغة؛ لا تُعامَل الإرسالات الفارغة كعدّ صفري ناجح.
هل تعدّ هذه الأداة الكلمات أو زمن القراءة؟
لا. تُعيد فقط عدّ الأحرف مع المسافات وبدونها، وفرق spaces، وطول UTF-8 بالبايت. استخدم أداة عدّ كلمات مخصصة إن احتجت تلك المقاييس.
أي رقم أقارنه بحدّ عدد الأحرف؟
استخدم الإجمالي مع المسافات عندما تُحسب كل ضغطة مفتاح، والإجمالي بدون مسافات عندما تتجاهل القاعدة الحشو، وعدد البايتات عندما تقيس قاعدة بيانات أو نظام ما الحجم بالبايت.
هل تُحسب فواصل الأسطر وعلامات الجدولة أحرفًا؟
نعم، تُحسب في الإجمالي مع المسافات مثل أي حرف آخر، شأنها شأن علامات الترقيم. أما في الإجمالي بدون مسافات فتُحذف فواصل الأسطر وعلامات الجدولة مع المسافات لأنها كلها فراغات.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/char-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/str/char-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/char-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/char-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/char-count", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hello World"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.char_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يستخدم الكتّاب ومديرو الشبكات الاجتماعية والمطورون والطلاب عدّ الأحرف يوميًا للبقاء ضمن حدود المنصات، وتحديد حجم حقول النماذج، وفحص ميزانيات الحمولة، وتحضير نص يجب أن يلائم صندوقًا ثابتًا. يُرفض المدخل الفارغ بخطأ invalid_input واضح حتى لا يتحول حقل نموذج فارغ إلى نجاح صفري صامت. استخدمها مجانًا في المتصفح للمسودات وفحوص الحدود والتدقيقات السريعة، أو استدعِ واجهة برمجة التطبيقات (API) بتكلفة $0.002 لكل طلب ناجح عندما تحتاج إلى ثوابت عدّ قابلة لإعادة الإنتاج في التكامل المستمر أو خطوط أنابيب أنظمة إدارة المحتوى أو العروض التعليمية.
ما معنى عدّ الأحرف وما الذي يحتويه الرد
يقيس طول البايت حجم ترميز UTF-8 للنص الأصلي، وهو الوحدة الصحيحة لأجسام HTTP، وأعمدة قواعد البيانات المُعلَنة بالبايت، وواجهات برمجة التطبيقات التي تحاسب أو تقتطع حسب حجم الحمولة لا الأحرف المعروضة. تُعيد هذه الحاسبة النص المُكرَّر، وchars وchars_no_spaces وspaces كالفرق بين ذينك العددين، وbytes، ووسم طريقة ثابت char_count للسجلات وخطوط أنابيب متعددة الأدوات. فإما يبني المحرك مقاييس صحيحة دقيقة ضمن الطول المدعوم، أو يرفض الطلب برمز invalid_input. تشمل حالات الرفض غياب حقل text، وقيمة null، وسلسلة فارغة، وكائنات ومصفوفات ليست نصًا خالصًا، وأي حمولة أطول من أقصى عدد أحرف موثّق. إن احتجت إلى عدّ كلمات، أو فروق، أو تحويلات حالة، فاستخدم تلك الأدوات المخصصة؛ إذ لا تجيب هذه الصفحة إلا عن مقاييس الأحرف والبايتات بمخرجات ثابتة تناسب أوراق العمل واختبارات الوحدات ومستهلكي واجهة برمجة التطبيقات (API) الذين يجب ألا يبتكروا قواعد عدّ.
كيف يُقرأ حقل text وكيف يبقى العدّ قابلًا لإعادة الإنتاج
يجب أن تكون القيمة سلسلة غير فارغة؛ وتُحوَّل الأعداد المنتهية وBigInt إلى سلاسل نصية أولًا حتى ينتج رمز منتج مكتوب كرقم سلسلة أرقام ثابتة للقياس. لا تُقتَص المسافات الخارجية عمدًا؛ فإن أرسلت مسافتين وكلمة ومسافتين، تُحسَب تلك المسافات الخارجية في chars وspaces، مما يبقي الاختبارات المرجعية وخطوط أنابيب النسخ واللصق أمينة. الحقل المفضَّل هو text، لكن الأسماء البديلة input وstring وvalue وcontent وs مقبولة أيضًا، بحيث يمكن لسلاسل الاستعلام وجداول البيانات والنماذج المكتوبة إعادة استخدام العقد نفسه دون إعادة تسمية أعمدة. تُرفض القيم المنطقية والكائنات العادية والمصفوفات برسالة واضحة حتى لا يتحول جسم JSON خاطئ إلى كلمة true أو تفريغ كائن غير مفيد. السلسلة الفارغة invalid_input دائمًا: وعد المنتج هو عدّ أحرف في نص، لا ابتكار نجاح صفري لإرسال فارغ. الطول محدود بمئة ألف حرف حتى لا يستحوذ لصق منفلت على Worker؛ وتفشل الحمولات الأطول برسالة حد صريحة بدل قطع صامت مبتور. يستخدم العدّ طول النص ل chars، واستبدال فراغ شاملًا ل chars_no_spaces، وTextEncoder لبايتات UTF-8 — بلا قاموس شبكة، ولا نموذج تعلم آلي، ولا جدول لغوي قد ينحرف بين المضيفين. اجمع بين التشغيل المجاني في المتصفح على هذه الصفحة وواجهة برمجة التطبيقات (API) المدفوعة عندما تحتاج إلى المقاييس ذاتها داخل خط أنابيب آلي دون شحن مساعدات طول خاصة بك.
أين يُستخدم عدّ الأحرف في الكتابة والحدود والبرمجيات
ويستدعي المطورون العقد نفسه من نصوص برمجية للتحقق من حقول نماذج، وتحديد حجم ثوابت JSON، والتحقق من ميزانيات UTF-8 قبل التخزين، أو لتلبية متطلبات تحديات برمجية تفرض أرقام أحرف وبايتات دقيقة بدل لقطة شاشة تقريبية. في هذه الصفحة يعمل كل شيء داخل متصفحك بالكامل؛ وعبر واجهة برمجة التطبيقات (API) يكلّف كل عدّ ناجح $0.002، ولا تُفرض رسوم على التحقق الفاشل، ولا يُخزَّن شيء بعد إعادة الرد. هذا الفصل — استكشاف تفاعلي مجاني وواجهة برمجة تطبيقات مدفوعة مطابقة له — يوافق بقية فئة A من فهرس KIT، ويتيح لك الانتقال من عرض توضيحي في الصف إلى خط أنابيب آلي دون تغيير النتيجة الرقمية.
حالات التكامل
ثوابت اختبار حتمية
ولّد إجماليات chars وchars_no_spaces وبايتات UTF-8 قابلة لإعادة الإنتاج لاختبارات الوحدات والملفات المرجعية وتأكيدات التكامل المستمر.
ميزانيات الحمولة والتخزين
قِس حجم UTF-8 لأجسام واجهات برمجة التطبيقات وأعمدة قواعد البيانات وسطور السجل حتى تطابق فحوص الطول صيغة النقل لا طول المحرر فقط.
أسئلة تقنية
كم تكلّف أداة عدّ الأحرف؟
هي مجانية في متصفحك على هذه الصفحة. وعبر واجهة برمجة التطبيقات (API) يكلّف الطلب الناجح $0.002؛ ولا تُفرض رسوم على المدخلات غير الصالحة.
ما الفرق بين chars وchars_no_spaces؟
chars هو طول السلسلة الكامل بما في ذلك المسافات وعلامات الجدولة والأسطر الجديدة. يزيل chars_no_spaces كل فراغ يونيكود أولًا، ثم يعدّ ما تبقى.