☰ خطة العام · تكنولوجيا المعلومات والاتصالات (بالعربية)

الثنائي والسداسي عشر والحروف

الأسبوع 4 · الوحدة ٦ «تصميم المعلومات» (١): التناظري والرقمي، النظام الثنائي وكمية المعلومات، النظام السداسي عشر، تمثيل الحروف رقميًا · 3 دروس
3

كيف يخزّن الحاسوب الحروف

ICT Secondary 1 Term 1, Chapter 6, Lessons 6-1 to 6-4: pp. 61–73
الهدفأشرح كيف تُخزَّن الحروف على شكل أعداد ولماذا يعطي جدول الرموز الخاطئ نصًا مشوهًا.
كلمات جديدة
رمز الحرف (⁦character code⁩) · العدد الذي يُعطى للحرف في جدول الرموزأسكي (⁦ASCII⁩) · جدول قديم من ٧ بتات للحروف الإنجليزية والأرقام والرموزيونيكود (⁦Unicode⁩) · جدول واحد يعطي عددًا لحروف جميع أنظمة الكتابةالخط (⁦font⁩) · شكل الحروف على الشاشة
الشرح

لا يخزّن الحاسوب إلا الأعداد، ولذلك يكون لكل حرف عدد في جدول للرموز. ففي جدول أسكي، وهو جدول من ٧ بتات أي ١٢٨ رمزًا، يكون الحرف ⁦A⁩ الكبير ٦٥ و⁦B⁩ ٦٦ وهكذا؛ والحرف الصغير ⁦a⁩ ٩٧، ورمز الرقم ⁦0⁩ هو ٤٨، والمسافة ٣٢. وللبايت ٢٥٦ قيمة، لكن أسكي يستخدم ١٢٨ منها فقط. ولاحظ أن الحرف ⁦7⁩ رمزه ٥٥، أما العدد ٧ فيُخزَّن بالشكل ⁦0000 0111⁩: الحرف والعدد شيئان مختلفان. ولا توجد في أسكي حروف عربية، فصنع الناس جداول أخرى، وصار العدد نفسه يعني حروفًا مختلفة في جداول مختلفة. وإذا فُتح نص كُتب بجدول بواسطة جدول آخر ظهر نص مشوّه. ويحل يونيكود هذه المشكلة: هو جدول واحد يعطي عددًا لحروف جميع أنظمة الكتابة، ومنها العربية، فيمكن أن يجمع النص لغات مختلفة. فمثلًا حرف الألف العربي هو ⁦0627⁩ بالنظام السداسي عشر، أي ١٥٧٥ بالعشري. والخط مجرد شكل الحرف ونمطه، وتغيير الخط لا يغيّر الرمز أبدًا. تذكر: الرمز يقول أي حرف هو، والخط يقول كيف يبدو.

ABC
1CharacterCode (decimal)Code (7 bits)
2A651000001
3B661000010
4C671000011
5a971100001
60480110000
7space320100000
أمثلة محلولة
نكتب ⁦CAB⁩ أعدادًا: ⁦C⁩ = ٦٧ و⁦A⁩ = ٦٥ و⁦B⁩ = ٦٦، فتكون الأعداد ⁦67 65 66⁩. ولفك ⁦72 73⁩ نعدّ من ⁦A⁩ = ٦٥: العدد ٧٢ يزيد ٧ على ⁦A⁩ فهو ⁦H⁩؛ و٧٣ هو ⁦I⁩. إذن ⁦72 73⁩ هي ⁦HI⁩.
الخطوةما يحدث
الكاتبيحفظ النص بالجدول ١
القارئيفتحه بالجدول ٢
النتيجةالأعداد نفسها وحروف أخرى: نص مشوّه
قد يعطي جدولان العدد نفسه حروفًا مختلفة. فنص صُنع بالجدول الأول وفُتح بالجدول الثاني يتحول إلى رموز غريبة، كما لو استخدم شخصان مفتاحين مختلفين لقفل واحد. ويتجنب يونيكود ذلك بجدول واحد مشترك.
نشاط الفصل

اكتب اسمك الأول بحروف لاتينية كبيرة، ثم اكتب رمز كل حرف بالعد من ⁦A⁩ = ٦٥. ثم اكتب الرموز نفسها بالثنائي في ٧ بتات. لا تستخدم اسم شخص آخر.

تدرّب
1
ما رمز الحرف ⁦D⁩ إذا كان ⁦A⁩ = ٦٥؟
2
كم رمزًا مختلفًا في أسكي ذي السبعة بتات؟
3
هل يغيّر الخط الجديد رمز الحرف؟ اشرح.
4
لماذا يستطيع يونيكود عرض العربية والإنجليزية في نص واحد؟