تستخدم الحواسيب الأرقام، بينما يستخدم الناس الحروف والرموز. نحتاج إلى جسر. ASCII هو ذلك الجسر. يُحوّل ASCII كل حرف أو رمز إلى رقم. يخزّن الحاسوب الرقم. عند القراءة، يُظهر الحاسوب الحرف مرة أخرى. هكذا يعمل النص في العديد من الملفات والتطبيقات.
يعمل الحاسوب بالكهرباء. لديه حالتان: تشغيل وإيقاف. نسمي هاتين الحالتين بتات . البت هو 0 أو 1. تُكوّن عدة بتات معًا أرقامًا أكبر. ثمانية بتات تُكوّن بايتًا . باستخدام البتات، يُمكننا العد. باستخدام العد، يُمكننا تسمية الأشياء. يستخدم ASCII العد لتسمية الحروف والرموز.
بت واحد يُعطي خيارين. بتّان يُعطيان أربعة خيارات. في الرياضيات، تُوضّح هذه الفكرة بالشكل: \(\;2^n\) . بالنسبة إلى \(n=7\) ، نحصل على \(2^7 = 128\) خيارًا. بالنسبة إلى \(n=8\) ، نحصل على \(2^8 = 256\) خيارًا. يستخدم نظام ASCII سبعة بتات، ما يُنتج 128 عنصرًا مُسمّى. لاحقًا، أنشأ الناس مجموعات من 8 بتات تحتوي على 256 عنصرًا. تُسمى هذه المجموعات ASCII الموسّعة .
ASCII هو اختصار لـ American Standard Code for Information Interchange (الرمز القياسي الأمريكي لتبادل المعلومات) . بدأ استخدامه في ستينيات القرن الماضي، وصُمم للطابعات القديمة، وأجهزة التلكس، وأجهزة الكمبيوتر. يُعطي كل حرف، ورقم، ومسافة، وبعض الرموز رقمًا. كما يُعطي أرقامًا خاصة لإجراءات مثل سطر جديد . استخدم الإصدار الأول 7 بتات، لذا كان يحتوي على أرقام من 0 إلى 127.
لاحظ شيئًا رائعًا. الأحرف الصغيرة أكبر بـ 32 من أزواجها الكبيرة. على سبيل المثال، \(\;97 - 65 = 32\) . لذا، الحرف "a" أكبر بـ 32 من "A". والحرف "b" أكبر بـ 32 من "B"، وهكذا. هذا النمط يُسهّل بعض مهام الحاسوب.
عند الضغط على مفتاح الإدخال، قد يُرسل جهاز الكمبيوتر LF أو CR أو كليهما، حسب النظام. تستخدم العديد من أدوات الإنترنت LF. بعض الأنظمة القديمة استخدمت CR وLF معًا.
يمكننا كتابة الأرقام بطرق مختلفة. النظام العشري هو الطريقة المعتادة للعد، باستخدام الأرقام من ٠ إلى ٩. النظام الثنائي يستخدم ٠ و١ فقط. النظام السداسي عشر يستخدم الأرقام من ٠ إلى ٩، والأرقام من A إلى F.
كيف يُعطي النظام الثنائي القيمة 65 للعدد 'A'؟ انظر إلى البتات في 01000001. البت الأيسر هو 128. ثم 64، 32، 16، 8، 4، 2، 1. فقط 64 و1 هما المُشغّلان. إذًا \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .
اضغط على أي مفتاح. تُرسل لوحة المفاتيح رمزًا إلى الحاسوب. يُحوّله النظام إلى رقم حرفي. بالنسبة للعديد من المفاتيح، يكون هذا الرقم هو رقم ASCII. يُخزّن التطبيق الرقم في الذاكرة. عندما يُظهر النص، يبحث عن الرقم ويرسم الحرف. عند الحفظ، تُحفظ الأرقام في الملف.
فكّر في رسالة "مرحبًا!" . الأحرف هي H وi و!. أرقامها بنظام ASCII هي 72 و105 و33. في النظام الثنائي، هي 01001000 و01101001 و00100001. تُرسل الشبكة هذه البتات. يقرأ الطرف الآخر البتات، ويرى الأرقام. يُظهر H وi و! مرة أخرى. هكذا تنتقل الرسائل النصية البسيطة.
أراد الناس رموزًا أكثر. أرادوا حروفًا مثل é وñ وø. وأرادوا رموزًا نقدية مثل €. احتوت المجموعة المكونة من 7 بتات على 128 رمزًا فقط. لذا استخدم الناس 8 بتات. باستخدام 8 بتات، نحصل على \(2^8 = 256\) رمزًا. استُخدم النصف العلوي، من 128 إلى 255، للحروف والرموز الإضافية. ولكن كانت هناك مشكلة. اختارت مجموعات مختلفة أرقامًا مختلفة لتلك الأحرف الإضافية. تُسمى هذه الخيارات صفحات الرموز .
نظرًا لاختلاف صفحات الرموز، قد يُظهر الرقم نفسه رمزًا مختلفًا على جهاز كمبيوتر آخر. يُسمى هذا الخلل "موجي بيك" . يبدو وكأنه أحرف غريبة. وهذا أحد أسباب انتقال العالم إلى يونيكود.
يونيكود معيارٌ أساسيٌّ يُتيح عرض العديد من اللغات ورموز الرياضيات والرموز التعبيرية. يتسع لأكثر من مليون رمز. هناك طرقٌ عديدةٌ لتخزين يونيكود، ومن أشهرها UTF-8 .
في النصوص المكتوبة بنظام ASCII فقط، يستخدم كل حرف بايتًا واحدًا. لذا، كلمة "قطة" تستخدم 3 بايتات. أما عبارة "مرحبًا يا أمي" فتتكون من 6 أحرف شاملة المسافة، أي أنها تستخدم 6 بايتات. وبحساب بسيط، \(\textrm{بايتات ASCII} = \textrm{عدد الأحرف}\) .
عادةً ما تُصنّف أجهزة الكمبيوتر السلاسل حسب أرقام أحرفها. يُجمّع نظام ASCII الأشياء بطريقة مُعيّنة.
هذا يعني أن كلمة "Zoo" تأتي قبل "Apple" عند مقارنة قيم ASCII البسيطة. يتم الترتيب حسب الأرقام، وليس حسب نطق الكلمات.
لاحظ أن الرمز "و" هو &. رقمه في نظام ASCII هو 38. علامة الجمع "+" هي 43. علامة الطرح "-" هي 45.
يصنع الناس صورًا باستخدام الأحرف فقط. يُسمى هذا فن ASCII . إليكم وجهًا صغيرًا مُصممًا باستخدام أحرف ASCII.
:-) ابتسامة بسيطة
(^_^) وجه ودود
o_O مندهش
كل وجه عبارة عن حروف مثل النقطتين والشرطة والأقواس. لا ألوان ولا أشكال، فقط نص.
نشأت لغة ASCII من آلات التلغراف وأجهزة الحاسوب المبكرة. في عام ١٩٦٣، تم الاتفاق على أول نسخة منها. ساعدت هذه اللغة العديد من الأجهزة المختلفة على التواصل مع بعضها البعض. باستخدام رمز واحد مشترك، كان حرف مثل A يعني الرقم نفسه في كل مكان. هذا سهّل إرسال الرسائل وطباعة النصوص.
يحتوي نظام ASCII على ١٢٨ عنصرًا فقط. هذا لا يكفي لجميع اللغات. فهو لا يعرض النصوص الصينية أو الهندية أو العربية أو العديد من النصوص الأخرى. كما لا يعرض الرموز التعبيرية. كما لا يعرض العديد من رموز الرياضيات والموسيقى. نستخدم Unicode لهذه الرموز. يمكن لـ Unicode عرض العديد من النصوص والرموز. UTF-8 هو وسيلة تخزينها. والخبر السار هو أن جميع نصوص ASCII تعمل داخل UTF-8، لذا تستطيع الأنظمة الحديثة قراءة ASCII القديم بسهولة.
تتوقع معظم التطبيقات ترميز UTF-8. ولكن عندما يحتوي الملف على أحرف ورموز ASCII فقط، فإنه يبدو كما هو تحت UTF-8. يُفضل المبرمجون هذا لأنه يُبسط الأمور. تستخدم صفحات الويب وواجهات برمجة التطبيقات والعديد من الأدوات ترميز UTF-8، الذي يتضمن ASCII دون أي تغييرات.
ASCII هي مجموعة مكونة من 7 بتات. هذا يعني ما يصل إلى \(2^7 = 128\) حرفًا مختلفًا. المجموعة الموسعة المكونة من 8 بتات تحتوي \(2^8 = 256\) عنصرًا. إذا كان نصك يحتوي على أحرف ASCII فقط، وكان يحتوي على \(n\) حرف، فإنه يستخدم \(n\) بايت. في رسالة صغيرة مثل OK ، \(n = 2\) لذا، فإنه يستخدم بايتين عند تخزينه بتنسيق ASCII أو UTF-8.
بعض عناصر ASCII تُنفّذ إجراءات ولا تُطبع. يُطبع الفراغ فارغًا. لكن LF وCR يُحرّكان المؤشر. ينتقل TAB. عند فتح ملف في مُحرّر خاص، قد يُظهر LF كـ \n. هذا الرمز ليس جزءًا من ASCII نفسه، بل هو طريقة يُظهر بها المُحرّر فواصل الأسطر.
تخيل جهازًا لطباعة الأسماء. يقرأ الجهاز الاسم كحروف، ويحوّل كل حرف إلى أرقام ASCII. يخزن هذه الأرقام في الذاكرة. يطبع الأحرف بالبحث عن كيفية رسم كل رقم. إذا حقق الشرط LF (10)، ينتقل إلى السطر التالي قبل طباعة المزيد.
انظر إلى الرمز '!' مرة أخرى. يمكننا كتابة شفرته بثلاث طرق: عشري: 33. ثنائي: 00100001. سداسي عشري: 21. في الصيغة الرياضية، \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . كل شكل له القيمة نفسها. تختار التطبيقات الشكل الذي تحتاجه. غالبًا ما يقرأ الناس الأعداد العشرية. أجهزة الكمبيوتر تُفضل الأعداد الثنائية. السداسي عشري هو اختصار لقراءة الأعداد الثنائية.
نظام ASCII صغير وواضح. وُضع مبكرًا، وبُنيت عليه العديد من الأدوات والبروتوكولات. ولأن أول ١٢٨ رمزًا من رموز Unicode تتطابق مع ASCII، لا يزال النظام قائمًا حتى اليوم. ولهذا السبب، يمكنك فتح ملفات نصية قديمة جدًا على هاتف أو كمبيوتر محمول جديد ورؤية الأحرف نفسها.
افتح ملفًا يحتوي على كلمة "مرحبًا" . البايتات هي أرقام ASCII 72 101 108 108 111. في النظام الثنائي، تكون هذه الأرقام 01001000 01100101 01101100 01101100 01101111. يقرأ التطبيق كل رقم ويرسم كلمة "مرحبًا" على الشاشة. إذا كان الرقم التالي 10، ينتقل إلى سطر جديد قبل رسم المزيد من النص. هذه هي بساطة العملية وثباتها.
تخيل الرقم 10. في النظام الثنائي، هو 00001010. وفي النظام العشري، هو 10. في نظام ASCII، 10 هو LF، أي تغذية السطر. هذا يوضح كيف يمكن عرض الرقم نفسه بطرق مختلفة. ينبع المعنى من كيفية استخدامنا للرقم. إذا قلنا إنه رمز حرفي، فإن 10 يعني LF. إذا قلنا إنه مجرد عدد من التفاحات، فهو عشر تفاحات. السياق مهم.
سنرسل كلمة "شمس" من جهاز إلى آخر. الرموز هي 'S' 83، 'u' 117، 'n' 110. في النظام الثنائي، 83 هو 01010011، 117 هو 01110101، 110 هو 01101110. تنتقل البتات كإشارات تشغيل وإيقاف. يُحوّل الجهاز الآخر البتات إلى أرقام، ثم يُحوّل الأرقام إلى أحرف. يُظهر كلمة "شمس" . إذا كان الرمز التالي 32، فهو مسافة. إذا كان التالي 33، فهو '!'. تبقى القواعد كما هي في كل مرة. هذه هي قوة الرمز المشترك.