الأدلة 02

طريقة حساب البايتات: UTF-8 وEUC-KR وCP949

متى يشغل حرف الهانغول بايتين ومتى يشغل 3 بايتات؟ حساب البايتات بحسب ترميز الأحرف، وما يجب الانتباه إليه في الرسائل القصيرة وقواعد البيانات.

الأحرف والبايتات ليست الشيء نفسه

عدد الأحرف هو عدد الحروف التي يراها الإنسان، أما البايتات فهي الحجم الذي يشغله النص عند تخزينه في الحاسوب. وقد يشغل الحرف نفسه عددًا مختلفًا من البايتات بحسب ترميز الأحرف المستخدم (أي القاعدة التي تحوّل الحروف إلى أرقام). فالحروف اللاتينية والأرقام تشغل بايتًا واحدًا في معظم الترميزات، أما الهانغول الكوري فيشغل بايتين أو 3 بايتات بحسب الترميز.

UTF-8: المعيار المعاصر

UTF-8 هو ترميز صفحات الويب ومعظم البرامج الحديثة. ويستخدم من 1 إلى 4 بايتات بحسب حجم رقم يونيكود (نقطة الترميز) (RFC 3629).

نطاق نقاط الترميزالبايتاتأمثلة
U+0000 ~ U+007F1الحروف اللاتينية والأرقام والرموز الأساسية
U+0080 ~ U+07FF2é وñ والحروف اليونانية والسيريلية والعربية
U+0800 ~ U+FFFF3الهانغول والرموز الصينية والكانا
U+10000 ~ U+10FFFF4معظم الرموز التعبيرية والكتابات القديمة

تقع جميع مقاطع الهانغول الجاهزة (من 가 إلى 힣، أي U+AC00~U+D7A3) في النطاق الثالث، لذا يشغل الحرف الواحد 3 بايتات في UTF-8. فمثلًا ‹안녕하세요› (مرحبًا) هي 5 أحرف و15 بايتًا. وبالمناسبة، يقع الحرف العربي في النطاق الثاني، فيشغل بايتين في UTF-8.

UTF-16

يخزّن ترميز UTF-16 المستخدم داخليًا في جافاسكربت وجافا وويندوز معظم الأحرف في بايتين، والأحرف التي تبدأ من U+10000 مثل الرموز التعبيرية في 4 بايتات (زوج بديل). ولهذا يحسب طول السلسلة في جافاسكربت الرمز التعبيري اثنين.

EUC-KR: ترميز كوري للمقاطع الجاهزة

يستند EUC-KR إلى المعيار الصناعي الكوري KS X 1001. تشغل الحروف اللاتينية والأرقام بايتًا واحدًا، وتشغل الأحرف المدرجة في KS X 1001 بايتين. ويضم KS X 1001 2350 مقطعًا شائعًا من الهانغول، و4888 رمزًا من الهانجا (الرموز الصينية)، إضافةً إلى الكانا والحروف اليونانية والسيريلية ورموز كثيرة.

المشكلة أن المعيار لا يضم سوى 2350 مقطعًا من أصل 11172 مقطعًا في الهانغول الحديث. فالمقاطع غير المدرجة مثل ‹똠› و‹햏› و‹뷁› لا يمكن تمثيلها في EUC-KR الأساسي ذي البايتين. وفي ملحق المعيار طريقة تركيب تستخدم 8 بايتات، لكن نادرًا ما تدعمها البرامج، فيتحول الحرف عادةً إلى ‹?› أو يحدث خطأ.

CP949: الترميز الموسَّع

يوسّع CP949 (رمز الهانغول الموحّد من مايكروسوفت) ترميز EUC-KR ليشمل جميع مقاطع الهانغول الحديث البالغة 11172 مقطعًا ببايتين لكل منها. ولأنه كان صفحة الترميز الكورية الافتراضية في ويندوز، فهو منتشر على نطاق واسع في المستندات والأنظمة الكورية القديمة. والقاعدة الشائعة «اللاتيني بايت واحد والهانغول بايتان» مصدرها في الغالب هذا الترميز.

متى تهمّ البايتات؟

طريقة حساب هذه الأداة

تُحسب بايتات UTF-8 بدقة من نقطة ترميز كل حرف. وبالنسبة إلى EUC-KR وCP949، تتحقق الأداة من خلال جدول الأحرف الفعلي لكل ترميز مما إذا كان كل حرف قابلًا للتمثيل ببايتين. أما الأحرف التي لا يمكن تمثيلها (الرموز التعبيرية ومقاطع الهانغول غير المدرجة وغيرها) فتُستبدل عادةً بـ‹?› ذي البايت الواحد، لذا تُحسب بايتًا واحدًا ويُعرض عددها منفصلًا. وإذا اخترت في وضع مقال التقديم أساس «بايتات (الهانغول = 2)» فسيجري العدّ وفق CP949.

تاريخ المرجع: 2026-09-23

فتح أداة عدّ الأحرف →