ما الذي تحسبه هذه الأداة
تُبلغ الحاسبة عن تعداد موجه للأحرف بناءً على نقاط ترميز Unicode وتعداد موجه للتخزين بناءً على بايتات UTF-8. داخليًا، يميز المساعد الموثق أيضًا وحدات ترميز UTF-16، مما يفسر لماذا يمكن أن يختلف الطول الأصلي لنص JavaScript عن النتيجة المرئية لبعض الرموز التعبيرية والأحرف التكميلية.
لـ "الحرف" عدة معانٍ في الحوسبة. تعداد نقاط الترميز أكثر وعيًا بـ Unicode من تعداد وحدات UTF-16، لكنه لا يزال ليس دائمًا عدد عناقيد الحروف المدركة من قبل المستخدم.
المُدخلات
أدخل أو الصق أي نص، بما في ذلك المسافات، وفواصل الأسطر، والرموز التعبيرية، والعلامات المركبة، والنصوص غير اللاتينية. يحدث الحساب في المتصفح ولا يحتاج إلى إرسال النص إلى خدمة طول.
حافظ على نهايات الأسطر الدقيقة عندما يكون حد البايت مهمًا. فاصل أسطر Windows CRLF يستخدم نقطتي ترميز وبايتي UTF-8، بينما فاصل LF يستخدم واحدة. يمكن لتسوية Unicode أيضًا تغيير تعداد نقاط الترميز والبايتات دون تغيير النص الظاهر.
الطريقة والمعادلة
يمر تعداد نقاط الترميز على النص بنقاط ترميز Unicode بدلاً من فهرسة وحدات UTF-16 الخام. تعداد UTF-16 هو طول وحدة الترميز في وقت تشغيل اللغة. تعداد البايتات يرمِّز النص كـ UTF-8 ويعد الثمانيات الناتجة.
أحرف ASCII الأساسية تستخدم وحدة UTF-16 واحدة وبايت UTF-8 واحد. العديد من الأحرف المشكَّلة تستخدم نقطة ترميز واحدة لكن بايتي UTF-8. الرموز التعبيرية التكميلية تستخدم عادةً نقطة ترميز واحدة، ووحدتي ترميز UTF-16، وأربع بايتات UTF-8.
يمكن أن يحتوي عنقود حرفي مثل تسلسل رمز تعبيري موصول بروابط عرض صفرية على نقاط ترميز متعددة بينما يظهر كرمز واحد. هذه الأداة لا تطبق تجزئة العناقيد الحرفية.
مثال تطبيقي
أدخل A😀é.
- نقاط ترميز Unicode:
A، و😀، وé، بمجموع 3. - وحدات ترميز UTF-16: 1 لـ A، و 2 لـ 😀، و 1 لـ é، بمجموع 4.
- بايتات UTF-8: 1 لـ A، و 4 لـ 😀، و 2 لـ é، بمجموع 7.
تُبلغ الحاسبة المرئية عن 3 أحرف و 7 بايتات. قيمة UTF-16 الموثقة البالغة 4 تشرح لماذا تعداد .length الساذج في JavaScript سيختلف.
كيفية تفسير النتيجة
استخدم نقاط الترميز عند التحقق من بروتوكول أو قاعدة بيانات معرفة صراحة بنقاط الترميز. استخدم بايتات UTF-8 لقيود الحمولة، أو قاعدة البيانات، أو API المعرفة بالبايتات المشفرة. لا ينبغي استبدال أي منهما بحد معرف بعناقيد الحروف، أو عرض العرض، أو مقاطع SMS، أو رموز الخط.
عند فرض حد منتج، وثق الوحدة وصيغة التسوية. يجب ألا يفقد المستخدم نصًا لمجرد أن الواجهة تقول "أحرف" بينما ترفض الخلفية البايتات.
الدقة والقيود
تعداد البايتات يستخدم تحديدًا UTF-8؛ UTF-16، و UTF-32، والترميزات القديمة، والضغط، والهروب، وصياغة JSON، وتأطير النقل لها أحجام مختلفة. الأداة لا تسوي النص أو تعد عناقيد الحروف، أو الكلمات، أو الأسطر، أو الأعمدة، أو الرموز، أو العرض المعروض.
يمكن أن يكون للنصوص المتطابقة بصريًا ترميزات مختلفة—على سبيل المثال، حرف مشكَّل مسبقًا مقابل حرف أساسي زائد علامة تركيب. المعرفات الحساسة للأمان تتطلب سياسة Unicode موثقة تتجاوز الطول وحده.
المصادر
- Unicode Standard, Chapter 2: General Structure يميز نقاط الترميز، وصيغ الترميز، وعناصر النص المدركة من قبل المستخدم.
- WHATWG Encoding Standard يحدد سلوك ترميز UTF-8 المستخدم من قبل معالجة النصوص الحديثة لمنصة الويب.
السجل التحريري
المؤلف: SoupCalc Editorial Team
آخر مراجعة: 14 أغسطس 2026
نطاق المراجعة: المرور على نقاط الترميز، وسلوك وكلاء UTF-16، وترميز UTF-8، وقيود العناقيد الحرفية، والمراجع المعيارية، وتعدادات A😀é 3 و 4 و 7 تم فحصها.