النص

Word/Character Frequency Counter

تحليل تكرار النص: عدد مرات ظهور كل كلمة أو حرف، مرتبة حسب العدد.


                        
                    

This tool counts how many times each word or character appears in a text and sorts the result by count — something that's practically impossible to tally by hand in a long piece of text.

How to use it

Common uses

Things to keep in mind

Frequency analysis is case-sensitive by default in many implementations — "Word" and "word" can count as different entries unless the text is normalized to one case first.

Classical substitution ciphers (ROT13, the Caesar cipher) don't change the frequency distribution of letters, only the mapping — which is exactly why frequency analysis is the classic way to break them without trying every key.

مقالة عن هذه الأداة: تحليل تكرار النص: من سحابة الكلمات إلى كسر الشيفرات

الأسئلة الشائعة

ما الفرق بين وضعي تحليل الكلمات والأحرف؟

وضع الكلمات يحسب عدد مرات ظهور كل كلمة في النص، بينما وضع الأحرف يحسب عدد مرات ظهور كل حرف على حدة، وتُعرض النتائج في كلا الوضعين مرتبة تنازليًا حسب عدد التكرار.

ما وظيفة خياري "دون مراعاة حالة الأحرف" و"تجاهل المسافات"؟

خيار عدم مراعاة حالة الأحرف يجمع الأحرف الكبيرة والصغيرة كعنصر واحد في الإحصاء، بينما خيار تجاهل المسافات يستبعد الفراغات من عدّ الأحرف حتى لا تظهر كعنصر متكرر في النتائج.

هل النص الذي أحلله يُرسل إلى خادم؟

لا، تحليل التكرار يتم بالكامل داخل متصفحك عبر JavaScript، دون رفع النص إلى أي خادم.

ما هو قانون زيبف؟

في اللغات الطبيعية، يتناسب تكرار الكلمة عكسيًا مع رتبتها حسب التكرار: أكثر كلمة تكرارًا تظهر تقريبًا ضعف تكرار الثانية، وثلاثة أضعاف تكرار الثالثة، وهكذا. أي انحراف كبير عن هذا النمط إشارة إلى أن النص قد يكون مولَّدًا آليًا أو محشوًّا بكلمات مفتاحية.

هل يمكن استخدام تحليل التكرار لكسر شيفرة بسيطة؟

نعم، لشيفرات الاستبدال الكلاسيكية (مثل ROT13 أو شيفرة قيصر) التي لا تغيّر توزيع تكرار الحروف بل تعيد ترتيب المطابقة فقط. بمقارنة توزيع تكرار النص المشفَّر بالتوزيع المعروف للغة الأصلية، يمكن استعادة مطابقة الأحرف دون تجربة كل المفاتيح الممكنة.

مقالات: النص

camelCase وsnake_case وkebab-case: متى نستخدم كل صيغة

لماذا يوجد camelCase وsnake_case وkebab-case، وأين يُستخدم كل منها عادة.

Text Diff: كيف تعمل خوارزمية إيجاد الفروقات بين النصوص

كيف تجد خوارزمية الديف أصغر مجموعة تغييرات بين نسختين من نص.

التعبيرات النمطية: الأساسيات وفخّ المطابقة الجشعة

الفرق بين المطابقة الجشعة والكسولة في التعبيرات النمطية ولماذا يهم ذلك عمليًا.

فرز الأسطر: لماذا يختلف الفرز الأبجدي عن العددي

لماذا يعامل الفرز الأبجدي الأرقام كنص، وكيف يختلف ذلك عن الفرز العددي.

الهروب بالأحرف: لماذا يختلف حسب السياق (JS وJSON والشِل والريجكس)

لماذا لا توجد قاعدة هروب واحدة تصلح لكل السياقات: JS وJSON والشِل والريجكس.

CRLF وLF: لماذا لا تزال نهايات الأسطر تسبّب مشاكل

من أين جاء الفرق بين CRLF وLF، ولماذا لا يزال يسبب مشاكل مع git والسكربتات.

عدّ الأحرف والكلمات: لماذا يعتمد على يونيكود

لماذا يمكن أن يتكون رمز تعبيري واحد ظاهريًا من عدة نقاط ترميز في يونيكود.

Lorem Ipsum: من أين جاء نص الحشو ولماذا لا معنى له

من أين جاء نص Lorem Ipsum فعليًا، ولماذا يُستخدم نص بلا معنى بدلاً من نص حقيقي.

Slugify: كيف يتحول العنوان إلى رابط صالح

كيف يتحول عنوان مقالة إلى رابط نظيف وقابل للقراءة بشرطات.

Markdown: لماذا أصبح معيار التوثيق

لماذا يظل Markdown مقروءًا حتى في صورته الخام، بخلاف HTML.

المسافات غير المرئية: لماذا تفشل مقارنة نصين متطابقين ظاهريًا

كيف يمكن لمسافة غير مرئية أن تجعل مقارنة نصين متطابقين ظاهريًا تفشل.

عكس النص: لماذا يفشل مع الرموز التعبيرية

لماذا يكسر عكس النص الساذج الرموز التعبيرية المركّبة من عدة نقاط ترميز.