وصلتك رسالةٌ عربيّةٌ قصيرة، فإذا هي «Ø±Ø³Ø§Ù„Ø©» بدل «رسالة». الحروف لم تتلف، ولا أصاب جهازَك عطل، وكلّ بايتٍ في الرسالة وصل كما خرج من جهاز المرسِل. الذي اختلف هو الجدول الذي قرأ به جهازك تلك البايتات، وفهمُ هذا الخطأ الصغير يفتح لك موضوعًا كاملًا اسمه الترميز.
عرفتَ في مقال البِت والبايت والنظام الثنائيّ أنّ كلّ ما في الحاسوب أرقامٌ ثنائيّة. ويجيب هذا المقال عن السؤال التالي: كيف يصير حرفٌ عربيٌّ أو صورةٌ أو مقطعُ صوتٍ أرقامًا فعلًا؟ تبدأ من النصّ وجداوله، ثمّ ترى لماذا يزن الحرف العربيّ ضعف الإنجليزيّ، ثمّ تنتقل إلى الصورة والصوت والفيديو، وتجرّب في النهاية بيدك.
النصّ: جدولٌ يعطي كلّ حرفٍ رقمًا
الحاسوب لا يعرف الحروف، يعرف الأرقام فقط، فيحتاج من يكتب ومن يقرأ إلى اتّفاقٍ مسبق: هذا الرقم يعني ذلك الحرف. يُسمّى هذا الاتّفاق «الترميز» (Encoding)، وهو في أبسط صوره جدولٌ من عمودين، في الأوّل الرقم وفي الثاني الحرف. يخزّن الجهاز الرقم، وحين يعرض النصّ يبحث عنه في الجدول ويرسم الحرف المقابل.
وأشهر هذه الجداول وأقدمها ASCII، الجدول الأمريكيّ الذي صار أساس ما بعده. وتصفه وثيقة RFC 20 المنشورة سنة 1969 بأنّه ترميزٌ من سبعة بتّات، أي 128 رمزًا، وأنّ البِت الثامن حين يُخزَّن الرمز في بايتٍ كاملٍ يبقى صفرًا دائمًا.[1] وفي هذه المئة والثمانية والعشرين الحروفُ الإنجليزيّة الكبيرة والصغيرة، والأرقام العشرة، وعلامات الترقيم، فالحرف A رقمه 65، والحرف a رقمه 97، والمسافة بين الكلمتين رقمها 32.

وأوّل عمودين في هذا الجدول، الرموز من صفرٍ إلى 31، لا تُطبَع أصلًا. هي «رموز تحكّم» تأمر الجهاز ولا تظهر على الشاشة، ومنها الرمز 10 (LF) الذي يعني «انزل إلى سطرٍ جديد»، والرمز 9 (HT) للمسافة الأفقيّة. فحين تضغط زرّ الإدخال في محرّر نصوص، فأنت تُدرج في الملفّ رقمًا خفيًّا يقرؤه البرنامج أمرًا لا حرفًا.
صفحات الترميز: لكلّ لغةٍ جدولٌ يناقض جاره
جدول ASCII يكفي الإنجليزيّة ولا يتّسع لغيرها، فليس فيه حرفٌ عربيٌّ واحد. ولأنّ البايت يتّسع لـ256 رقمًا والجدول يستعمل نصفها، استغلّت كلّ جهةٍ النصف الأعلى من 128 إلى 255 لحروف لغتها. وسُمّي كلّ جدولٍ من هذه الجداول «صفحة ترميز» (Code Page)، وكثرت الصفحات حتّى صار للعربيّة وحدها عددٌ منها.
وقائمة Microsoft الرسميّة لمعرّفات صفحات الترميز تسجّل للعربيّة سبعًا، منها 708 و720 و864 من عصر DOS، و1256 الخاصّة بويندوز، و10004 لأجهزة Mac، و28596 المعروفة بـISO 8859-6 دوليًّا.[2] الرقم نفسه يعني حرفًا في صفحةٍ وحرفًا آخر في جارتها، وما كتبه جهازٌ بصفحةٍ لا يُقرأ سليمًا إلّا بالصفحة ذاتها. وتنصح Microsoft نفسها في الصفحة ذاتها باستعمال يونيكود، لأنّ صفحات الترميز قد تؤدّي إلى «تلف البيانات».
والرسالة المكسورة في أوّل المقال مثالٌ حيٌّ على هذا. كُتبت «رسالة» بترميز UTF-8 الذي ستعرفه بعد قليل، فصار حرف الراء فيها بايتين هما D8 وB1 بالسداسيّ عشريّ. ثمّ فتحها برنامجٌ ظنّها مكتوبةً بالصفحة 1252، صفحة اللغات الأوروبيّة الغربيّة في ويندوز، وفي تلك الصفحة البايت D8 هو الحرف «Ø» والبايت B1 هو «±». وهكذا صار كلّ حرفٍ عربيٍّ حرفين لاتينيّين، وظهرت تلك الطلاسم التي عرفها كلّ من استعمل بريدًا عربيًّا في أوّل الألفيّة.
يونيكود: رقمٌ واحدٌ لكلّ حرفٍ في العالم
الحلّ أن يكون للعالم جدولٌ واحد، وهذا ما يفعله يونيكود (Unicode): يعطي كلّ حرفٍ في كلّ نظام كتابةٍ رقمًا فريدًا يُسمّى «نقطة الترميز» (Code Point)، ويُكتب بالسداسيّ عشريّ بعد U+. والجدول ينمو كلّ سنة، فالإصدار 18.0 الصادر في سبتمبر 2026 أضاف 13,007 رموز، فبلغ مجموعها 172,808 رموز.[3] وفيها حروف لغاتٍ حيّة وكتاباتٍ منقرضة ورموزٌ تعبيريّة، وحين يصلك وجهٌ تعبيريٌّ جديد بعد تحديث هاتفك فقد مرّ قبل ذلك بلجنة يونيكود.
وتسكن العربيّة في يونيكود نطاقًا أساسيًّا يمتدّ من U+0600 إلى U+06FF،[4] فحرف الباء مثلًا رقمه U+0628، أي 1,576 بالعشريّ. وأوّل حروف ASCII الـ128 تبقى في يونيكود بأرقامها نفسها، فالحرف A رقمه U+0041، أي 65 كما كان. وهذا قرارٌ مقصود، فكلّ نصٍّ إنجليزيٍّ قديمٍ بقي صحيحًا في الجدول الجديد دون أن يتغيّر فيه شيء.
وانتبه إلى ما يحدّده الرقم وما لا يحدّده. نقطة الترميز تقول «هذا حرف الباء»، لكنّها لا تقول كيف يُرسم، فالرسم مهمّة الخطّ (Font) الذي يختاره البرنامج أو تحدّده الصفحة عبر CSS. ويظهر هذا الفصل في العربيّة بوضوح، لأنّ الحرف العربيّ يتغيّر شكله بحسب موضعه في الكلمة. والمعيار نفسه ينصّ على أنّ الحروف التي تتّصل من الجهتين لها أربعة أشكال: منفصل، وفي أوّل الكلمة، وفي وسطها، وفي آخرها.[5] فالباء في «باب» و«كتب» و«لبن» حرفٌ واحدٌ برقمٍ واحد، والخطّ هو الذي يختار الشكل المناسب لكلّ موضع.
والفصل نفسه يشرح لماذا يبدو الوجه التعبيريّ مختلفًا بين هاتفين. الذي يُرسل في رسالتك هو الرقم U+1F60E للوجه ذي النظّارة الشمسيّة لا صورته، وكلّ شركةٍ ترسم لهذا الرقم وجهًا بخطّها الخاصّ. فالرقم واحدٌ عند المرسِل والمستقبِل، والرسم يختلف كما يختلف شكل حرف الباء بين خطّين.
ترميز UTF-8: لماذا يزن الحرف العربيّ ضعف الإنجليزيّ
يونيكود جدولٌ يعطي الحرف رقمًا، لكنّه لا يحدّد كيف يُكتب هذا الرقم في بايتات داخل الملفّ. وتلك مهمّة طريقة الترميز، وأشهرها اليوم UTF-8، الذي وصفته وثيقة RFC 3629 سنة 2003 وصار المعيار الذي يتّبعه الجميع تقريبًا.[6] وتقول إحصاءات W3Techs في 3 أكتوبر 2026 إنّ 99.1% من المواقع التي يُعرف ترميزها تستعمل UTF-8 لصفحاتها.[7]
والفكرة التي جعلته ينتشر أنّ طوله متغيّر. وجدول RFC 3629 يقسم نقاط الترميز أربع فئات: من U+0000 إلى U+007F بايتٌ واحد، ومن U+0080 إلى U+07FF بايتان، ثمّ ثلاثة بايتات، ثمّ أربعة لكلّ ما بعد U+10000 فصاعدًا.[6] وحروف ASCII كلّها في الفئة الأولى، فيبقى كلّ ملفٍّ قديمٍ مكتوبٍ بـASCII ملفًّا صحيحًا بـUTF-8 دون أن يتغيّر فيه بايتٌ واحد.
أمّا العربيّة في نطاقها من U+0600 إلى U+06FF فتقع كلّها في الفئة الثانية، فيأخذ كلّ حرفٍ عربيٍّ بايتين، ولهذا تُخزَّن «hello» في خمسة بايتات و«مرحبا» بحروفها الخمسة في عشرة. وهي نتيجة ترتيب الجدول، فالحروف التي كانت في ASCII جاءت أوّلًا وحصلت على البايت الواحد، ومن جاء بعدها صار يحتاج بايتًا إضافيًّا لا أكثر.
وكيف يعرف البرنامج أين ينتهي الحرف إن كانت الأطوال مختلفة؟ من البتّات الأولى في كلّ بايت، وتراها في الشكل 1. البايت الذي يبدأ بالصفر حرفٌ كاملٌ بنفسه، والذي يبدأ بـ110 أوّل حرفٍ من بايتين، وبـ1110 أوّل حرفٍ من ثلاثة، وبـ11110 أوّل حرفٍ من أربعة. وكلّ بايتٍ يكمل حرفًا يبدأ بـ10. ولهذا يستطيع البرنامج أن يقفز إلى أيّ موضعٍ في الملفّ ويجد بداية الحرف التالي دون أن يقرأ ما قبله.
والرموز التعبيريّة في آخر الجدول، فالوجه ذو النظّارة الشمسيّة، U+1F60E، يحتاج أربعة بايتات، أي وزن أربعة حروفٍ إنجليزيّة. وبعض الوجوه التي تراها رمزًا واحدًا مركّبةٌ في الحقيقة من عدّة رموزٍ يربطها حرفٌ خفيٌّ اسمه «الواصل صفريّ العرض» (ZWJ، رقمه U+200D). ويشرح معيار الرموز التعبيريّة أنّ هذا الواصل يطلب من الجهاز أن يرسم السلسلة صورةً واحدةً إن كان يعرفها.[8] فرمز «شخصٌ أمام حاسوب» مثلًا شخصٌ ثمّ واصلٌ ثمّ حاسوب، أي ثلاث نقاط ترميز وزنها أحد عشر بايتًا لصورةٍ صغيرةٍ واحدة.
ولترميز UTF-8 أخوان لم يبلغا انتشاره. UTF-16 يعطي كلّ حرفٍ بايتين على الأقلّ، فيضاعف وزن النصّ الإنجليزيّ، وUTF-32 يعطي كلّ حرفٍ أربعة بايتاتٍ ثابتة، وهو أسهل في المعالجة لكنّه يهدر أكبر مساحة. وانتصر UTF-8 لأنّه جمع التوافق التامّ مع ASCII إلى الاقتصاد في المساحة. وأثر هذه الأوزان تراه في المواقع التي تحدّ عدد الأحرف، فبعضها يعدّ البايتات لا الأحرف، فتنفد المساحة المسموحة أسرع حين تكتب بالعربيّة أو تُكثر من الوجوه.
الصور: شبكةٌ من النقاط الملوّنة
كبّر أيّ صورةٍ على شاشتك كثيرًا، وستنكشف لك عن مربّعاتٍ صغيرة كلٌّ منها بلونٍ واحد. هذه المربّعات هي البِكسلات (Pixels)، والصورة الرقميّة كلّها شبكةٌ منها، صفوفٌ وأعمدة. فصورةٌ بأبعاد 1920 في 1080 فيها 2,073,600 بِكسل، وهذه الأبعاد بالذات ما يُقصد بشاشة «1080p»، وكلّ بِكسلٍ فيها يُخزَّن رقمًا يصف لونه.
واللون نفسه يُخزَّن بنظام RGB: كلّ لونٍ على الشاشة مزيجٌ من ثلاثة أضواء، أحمر وأخضر وأزرق، ولكلّ ضوءٍ شدّةٌ من صفرٍ إلى 255، أي بايتٌ واحد. وهذا ما رأيته في رموز الألوان في مقال البِت والبايت، حيث يمثّل كلّ زوجٍ من الرموز السداسيّة عشريّة قناةً من القنوات الثلاث. ثلاثة بايتاتٍ لكلّ بِكسل تعطي 256 × 256 × 256، أي 16,777,216 لونًا ممكنًا.

والشاشة تطبّق هذا حرفيًّا. فكلّ بِكسلٍ فيها ثلاث نقاطٍ ضوئيّةٍ أصغر منه، حمراء وخضراء وزرقاء، يأخذ كلٌّ منها شدّته من بايته، وتمزجها عينك من بعيدٍ لونًا واحدًا. وهذا ما تراه في الصورة أعلاه إن قرّبتها، فالأصفر مثلًا أحمرُ وأخضرُ مضاءان معًا والأزرق مطفأ.
واحسب الآن وزن الصورة قبل أيّ ضغط. صورة 1920 في 1080 بثلاثة بايتاتٍ لكلّ بِكسل تحتاج 6,220,800 بايت، أي أكثر من ستّة ميغابايتات، وصورةٌ من كاميرا هاتفٍ بدقّة 12 ميغابِكسل تحتاج نحو 36 ميغابايتًا خامًا. وقد تضيف بعض الصيغ قناةً رابعةً اسمها «ألفا» (Alpha) تحفظ شفافيّة كلّ بِكسل، وهي التي تتيح لشعارٍ أن يستقرّ فوق أيّ خلفيّةٍ دون مربّعٍ أبيض حوله، وتضيف بايتًا رابعًا للبِكسل.
والبايت الواحد للقناة ليس حدًّا ثابتًا. فهو يعطي 256 درجةً لكلّ لون، وهذا لا يكفي دائمًا للتدرّجات الناعمة كسماء الغروب، فتظهر فيها خطوطٌ متدرّجةٌ بدل الانتقال السلس. ويشرح دليل الترميز في MDN أنّ العمق اللونيّ الأقلّ من عشرة بتّاتٍ للقناة يسمح بهذا التخطيط في المناطق المشبعة.[9] ولهذا تعمل شاشات HDR وملفّاتها بعشرة بتّاتٍ أو أكثر للقناة، فتصير درجات كلّ لونٍ 1,024 بدل 256، بثمن ملفٍّ أثقل.
الضغط: مُفقِدٌ وغير مُفقِد
لو حُفظت كلّ صورةٍ خامًا لامتلأ هاتفك بعد بضع مئاتٍ منها، ولهذا تُضغط الصور كلّها تقريبًا. والضغط نوعان. الأوّل غير مُفقِد (Lossless)، يعيد لك الصورة بعد فكّها بكلّ بِكسلٍ كما كان. والثاني مُفقِد (Lossy)، يحذف تفاصيل تُقدِّر خوارزميّته أنّ عينك لن تفتقدها، فيصغر الملفّ كثيرًا ولا تعود تلك التفاصيل أبدًا.
وفكرة الضغط غير المُفقِد في أبسط صورها البحث عن التكرار. لو كان في الصورة شريطٌ من ألف بِكسلٍ أزرق متطابق، فيكفي أن تكتب «الأزرق ألف مرّة» بدل أن تكتب اللون ألف مرّة. وصيغة PNG من هذا النوع، ويصفها معيار W3C في إصداره الثالث الصادر في يونيو 2025 بأنّها ضغطٌ غير مُفقِد،[10] ولهذا تناسب لقطات الشاشة والشعارات والرسوم ذات الحوافّ الحادّة والنصوص.
أمّا JPEG فهي الصيغة المُفقِدة الأشهر، وتعود إلى المعيار ISO/IEC 10918 الذي وُضع سنة 1992،[11] وتناسب الصور الفوتوغرافيّة لأنّ الصورة الواقعيّة مليئةٌ بتفاصيل دقيقةٍ لا تلاحظ العين غيابها. لكن احفظ صورةً بها مرّاتٍ متتالية، وستتراكم الخسارة في كلّ مرّة، وتظهر حول الحوافّ والنصوص بقعٌ ضبابيّةٌ صغيرة.
وظهرت بعدهما صيغٌ أكفأ. تقول Google إنّ صور WebP غير المُفقِدة أصغر من PNG بنحو 26%، وإنّ المُفقِدة أصغر من JPEG المكافئة في الجودة بين 25% و34%.[12] وتحفظ أجهزة Apple الصور بصيغة HEIF منذ iOS 11 وmacOS High Sierra، وتذكر Apple أنّها تعطي ضغطًا أفضل من JPEG بالجودة نفسها.[13] ثمّ جاءت AVIF المبنيّة على ترميز الفيديو AV1، وتعدّها MDN مع WebP الخيار حين تريد جودةً أعلى وحجمًا أصغر معًا.[14]
والملفّ يحمل أكثر من بِكسلاته. ففي داخله بياناتٌ وصفيّةٌ (Metadata) لا تراها، منها نوع الكاميرا وتاريخ الالتقاط، وقد يكون منها موقع التصوير. وتشرح Apple في دليلها للسلامة الشخصيّة كيف تشارك صورةً من iPhone دون موقعها: تختار «خيارات» قبل الإرسال وتطفئ «الموقع».[15] فقبل أن تنشر صورةً التقطتها في بيتك، تذكّر أنّ الملفّ قد يحمل عنوانك.
النقطيّة والمتّجهة: حكاية التكبير
كلّ ما وصفتُه حتّى الآن صورٌ نقطيّة (Raster)، شبكةٌ من بِكسلاتٍ عددها محدود. ولهذا تظهر مربّعاتها حين تكبّرها كثيرًا، وتصير حوافّها مسنّنة، فالتكبير يمطّ النقاط الموجودة ولا يخترع تفاصيل لم تُلتقط. ولهذا أيضًا تبدو صورةٌ حادّةٌ على هاتفك باهتةً حين تُطبع على ورقةٍ كبيرة.
والنوع الآخر هو الصور المتّجهة (Vector)، وهذه تخزّن وصفًا هندسيًّا بدل النقاط: خطٌّ من هذه النقطة إلى تلك، ودائرةٌ مركزها هنا ونصف قطرها كذا. ويُعاد حسابها عند كلّ عرض، فتبقى حادّةً على شاشة ساعةٍ وعلى لوحةٍ إعلانيّةٍ كبيرة. وأشهر صيغها SVG، وتصفها MDN بأنّها مثاليّةٌ للأيقونات والرسوم البيانيّة وكلّ ما يجب أن يُرسم بدقّةٍ في أحجامٍ مختلفة،[14] والشكلان في هذا المقال مرسومان بها.
والقاعدة العمليّة تخرج من هذا الفرق مباشرة. الصورة الفوتوغرافيّة، بوجوهها وسمائها وتفاصيلها، لا تُختصر في معادلات، فتبقى نقطيّة. أمّا الشعار والأيقونة والرسم التوضيحيّ فالأفضل لها المتّجهة، ولهذا يطلب منك المطبعيّ ملفّ الشعار بصيغةٍ متّجهة، ولا يقبل لقطة شاشةٍ له.
الصوت: موجةٌ تُقاس آلاف المرّات في الثانية
الصوت في الهواء موجةٌ متّصلةٌ يتغيّر ضغطها بسلاسة، والحاسوب لا يخزّن إلّا أرقامًا منفصلة. والحيلة التي تحلّ هذا اسمها «أخذ العيّنات» (Sampling): يُقاس ارتفاع الموجة في لحظاتٍ متساوية التباعد، ويُخزَّن كلّ قياسٍ رقمًا. وتُسمّى هذه الطريقة تعديل النبضات المرمَّزة (PCM)، وهي أساس الصوت الرقميّ غير المضغوط.
وعدد القياسات في الثانية يُسمّى «معدّل أخذ العيّنات». فالأقراص الموسيقيّة المدمجة تأخذ 44,100 عيّنةٍ في الثانية، وكلّ عيّنةٍ فيها رقمٌ من 16 بِتًا، كما توثّق مكتبة الكونغرس الأمريكيّة في سجلّها لصيغ الصوت.[16] والستّة عشر بِتًا تعطي 65,536 مستوًى ممكنًا لارتفاع الموجة، وكلّما زادت المستويات صار القياس أدقّ وقلّ التشويش الذي يضيفه التقريب.
ولماذا يكفي عددٌ محدودٌ من القياسات لاستعادة موجةٍ متّصلة؟ لأنّ Claude Shannon أثبت سنة 1949 أنّ الإشارة التي لا تحوي تردّداتٍ أعلى من W تتحدّد تمامًا بقيمها في نقاطٍ تفصل بينها 1/2W من الثانية.[17] أي أنّ معدّل القياس يجب أن يبلغ ضعف أعلى تردّدٍ تريد حفظه، فمعدّل 44,100 يحفظ كلّ التردّدات حتّى 22,050 هرتز. وما ترى في الشكل 2 من نقاطٍ على الموجة هو بالضبط ما يحفظه الملفّ، وما بينها يعيد بناءه الجهاز عند التشغيل.
واحسب وزن هذه الدقّة. 44,100 عيّنةٍ في الثانية، كلٌّ منها بايتان، في قناتين للصوت المجسّم، تعني 176,400 بايتٍ في الثانية، أي قرابة 10.6 ميغابايتات للدقيقة الواحدة. وهذا ما يجعل الضغط ضروريًّا هنا كما في الصور. فصيغتا MP3 وAAC مُفقِدتان، تحذفان من الصوت ما يصعب على الأذن أن تلاحظ غيابه، وملفّ MP3 بمعدّل 128 كيلوبت في الثانية أصغر بنحو 11 مرّةً من صوت القرص.
ومن يريد الصوت كما سُجّل تمامًا يجد في FLAC ما يريد، وهي صيغةٌ مفتوحةٌ تصفها مؤسّسة Xiph.Org بأنّها ضغطٌ غير مُفقِد.[18] فهي للصوت ما PNG للصورة: ملفٌّ أكبر من MP3، يعيد كلّ عيّنةٍ كما كانت حين يُفكّ. وحين يعرض عليك تطبيقٌ موسيقيٌّ خيارات الجودة، فأنت تختار في الحقيقة بين معدّلات بِتٍ مختلفة، وبين حجمٍ أصغر وصوتٍ أنقى.
الفيديو: صورٌ متتابعةٌ وصوت
الفيديو تركيبٌ ممّا سبق، صورٌ تُعرض متتابعةً بسرعةٍ تجعل العين تراها حركة، ومعها مسارٌ صوتيّ. وعدد الصور في الثانية يُسمّى معدّل الإطارات، وتراه في إعدادات الكاميرا بأرقامٍ مثل 24 و30 و60. واحسب وزنه خامًا: إطارٌ بدقّة 1080p يزن 6.2 ميغابايتات كما رأيت، وثلاثون منها في الثانية تعني نحو 186 ميغابايتًا لكلّ ثانية، أي أكثر من 11 غيغابايتًا للدقيقة الواحدة.
ولهذا يضغط الفيديو أشدّ من أيّ نوعٍ آخر، وحيلته الكبرى أن يخزّن الفروق بين الإطارات بدل الإطارات كاملة. ويشرح دليل MDN أنّ الترميز يكتب الإطار التالي على هيئة سجلٍّ بما تغيّر عن الإطار السابق، ويضع كلّ فترةٍ «إطارًا مفتاحيًّا» كاملًا يصلح ما تراكم ويتيح القفز داخل المقطع.[9] فمشهد مذيعٍ أمام خلفيّةٍ ثابتة يكاد لا يكلّف شيئًا بين الإطارات، ومشهد مطاردةٍ سريعةٍ يكلّف أكثر بكثير.
ومن أشهر هذه الترميزات H.264 وH.265، ثمّ AV1 الذي أصدره تحالف Alliance for Open Media ترميزًا مفتوحًا يستعمله من يشاء.[19] ولولا هذا الضغط لما وصلتك ساعةٌ من فيديو بجودةٍ عالية عبر اتّصالٍ منزليّ، فالدقيقة الخام وحدها تزيد على 11 غيغابايتًا كما حسبتَ قبل قليل.
جرّبه بنفسك
افتح محرّر نصوصٍ بسيطًا، واكتب كلمة «hello» واحفظها في ملفّ، ثمّ اكتب «مرحبا» في ملفٍّ ثانٍ واحفظه بترميز UTF-8. ثمّ افتح خصائص الملفّين وقارن الحجم بالبايت: الأوّل خمسة بايتات والثاني عشرة. وإن كان على جهازك لينكس أو macOS فافعل الشيء نفسه من الطرفيّة بأمرٍ واحدٍ لكلّ كلمة:
printf 'hello' | wc -c
printf 'مرحبا' | wc -c
وإن أردتَ أن ترى بايتات حرفٍ بعينك، فاكتب printf 'ب' | xxd وستظهر لك d8a8، وهما البايتان اللذان في الشكل 1. وجرّب بعدها الحرف «ر» وستظهر d8b1، وهما البايتان اللذان قرأهما البرنامج الخاطئ في أوّل المقال حرفين لاتينيّين.
ثمّ خذ صورةً من هاتفك، وانظر في خصائصها إلى أبعادها بالبِكسل وحجمها، واضرب العرض في الارتفاع في ثلاثة لتعرف وزنها الخام، ثمّ قارنه بحجم الملفّ الفعليّ. ستجد الملفّ أصغر بكثير، والفرق كلّه هو ما وفّره الضغط من مساحة هاتفك.
من الأرقام إلى من يعالجها
لكنّ الأرقام وحدها لا تكفي. فالبرنامج الذي يفتح ملفًّا يحتاج أن يعرف أوّلًا كيف يقرؤه: أهو نصٌّ بـUTF-8، أم صورةٌ بـJPEG، أم صوتٌ بـMP3، وكيف يفكّ أرقامه؟ وهذه المعرفة تحملها صيغة الملفّ وامتداده والبايتات الأولى فيه، وتفصيلها في مقال ما هو الملفّ. والرسالة المكسورة في أوّل المقال لم تكن إلّا ملفًّا قُرئ بجدولٍ غير جدوله.
بقي سؤال من يعالج هذه الأرقام كلّها. فكلّ بِكسلٍ وكلّ عيّنةٍ وكلّ حرفٍ رأيته هنا يمرّ في النهاية على المعالج، الذي يجمعها ويقارنها وينقلها مليارات المرّات في الثانية. وهو موضوع المقال التالي، دليل المعالج، وفيه تدخل الحاسوب من أهمّ أبوابه.
المصادر
- V. Cerf، «ASCII format for Network Interchange»، RFC 20، 1969: ترميزٌ من سبعة بتّات، والبِت الثامن «high order bit is always 0».
- Microsoft Learn، «Code Page Identifiers»: صفحات العربيّة 708 و720 و864 و1256 و10004 و20420 و28596، والصفحة 1252 للأوروبيّة الغربيّة، والتوصية باستعمال يونيكود تجنّبًا لتلف البيانات.
- Unicode Consortium، «Unicode 18.0.0»، سبتمبر 2026: «Unicode 18.0 adds 13,007 characters, for a total of 172,808 characters».
- Unicode Consortium، «Arabic, Range: 0600-06FF»، جداول الرموز، الإصدار 18.0.
- Unicode Consortium، «The Unicode Standard, Chapter 9: Middle East-I»: «Dual-joining characters have four distinct forms, for isolated, final, medial, and initial contexts».
- F. Yergeau، «UTF-8, a transformation format of ISO 10646»، RFC 3629، نوفمبر 2003: جدول الأطوال من بايتٍ إلى أربعة وبتّات البداية في كلّ بايت.
- W3Techs، «Usage statistics of character encodings for websites»، 3 أكتوبر 2026: «UTF-8 is used by 99.1% of all the websites whose character encoding we know».
- Unicode Technical Standard #51، «Unicode Emoji»، القسم 2.5 «Emoji ZWJ Sequences»: الواصل U+200D يطلب رسم السلسلة صورةً واحدةً إن كانت متاحة.
- MDN Web Docs، «Web video codec guide»: العمق الأقلّ من 10 بتّاتٍ للقناة يسمح بالتخطيط في التدرّجات؛ الإطارات الوسيطة سجلٌّ لما تغيّر، والإطارات المفتاحيّة كاملة.
- W3C، «Portable Network Graphics (PNG) Specification (Third Edition)»، توصيةٌ صادرة في 24 يونيو 2025: صيغة صورٍ بضغطٍ غير مُفقِد.
- JPEG Committee، «Overview of JPEG 1»: المعيار ISO/IEC 10918-1 | ITU-T T.81، وُضع سنة 1992.
- Google for Developers، «An image format for the Web»: «WebP lossless images are 26% smaller than PNGs and lossy images are 25-34% smaller than comparable JPEGs».
- Apple Support، «Using HEIF or HEVC media on Apple devices»: الصيغة منذ iOS 11 وmacOS High Sierra، بضغطٍ أفضل من JPEG.
- MDN Web Docs، «Image file type and format guide»: WebP وAVIF لجودةٍ أعلى وضغطٍ أكبر؛ SVG صيغةٌ متّجهة «ideal for user interface elements, icons, diagrams».
- Apple Support، «Manage location metadata in Photos»، Apple Personal Safety User Guide، سبتمبر 2026.
- Library of Congress، «Linear Pulse Code Modulated Audio (LPCM)»: «Audio CDs use 44.1 kHz sampling rate with 16-bit samples».
- Claude E. Shannon، «Communication in the Presence of Noise»، Proceedings of the IRE، 1949، المبرهنة 1: إشارةٌ بلا تردّداتٍ أعلى من W تتحدّد تمامًا بقيمها في نقاطٍ تفصل بينها 1/2W ثانية.
- Xiph.Org Foundation، «FLAC: Free Lossless Audio Codec»: ترميزٌ صوتيٌّ مفتوحٌ غير مُفقِد.
- Alliance for Open Media، «AV1»: ترميز فيديو مفتوح.