← جميع الأدوات

جدول ASCII

مرجع كامل لجدول ASCII مع الأكواد العشرية والست عشرية والثنائية، أحرف التحكم مقابل القابلة للطباعة، وعلاقة ASCII بـUnicode وUTF-8.
DecHexOctCharالاسم

جدول ASCII: كيف صار 128 رقمًا أساس النص

ASCII، اختصار للترميز الأمريكي القياسي لتبادل المعلومات، هو الترميز الذي علّم الحواسيب الاتفاق على معنى الحرف. نُشر عام 1963 وصُقل خلال الستينيات، وهو يربط كل حرف أساسي في النص الإنجليزي والأرقام وحفنة من إشارات التحكم بأعداد تستطيع الآلة تخزينها ونقلها. فحين تضغط مفتاح الحرف A الكبير، لا يخزّن حاسوبك شكلًا، بل يخزّن العدد 65. وASCII هو جدول البحث الذي يجعل ذلك العدد يعني A أينما انتقل.

المعيار مُحكم الإحكام على نحو مشهور. فـ ASCII ترميز من 7 بتات، ما يعني أن كل حرف يتسع داخل سبع خانات ثنائية، ويمتد المجموع بأكمله بالضبط على 2 مرفوعًا للأس 7، أو 128 نقطة ترميز متمايزة مرقّمة من 0 إلى 127. وكان هذا الاقتصاد مقصودًا. فأجهزة التلكس والمودم المبكرة كانت بطيئة ومكلفة، لذا كانت كل بتة مهمة. وكانت سبع بتات كافية لتغطية الحروف اللاتينية الكبيرة والصغيرة والأرقام العشرة وعلامات الترقيم الشائعة وأحرف الإشارة التي تبقي الأجهزة متزامنة، مع بقاء بتة واحدة استخدمتها أنظمة كثيرة للتحقق من الأخطاء.

شبكة مجرّدة متوهّجة من خلايا أحرف مرتّبة بلون نيلي داكن مع ضوء سماوي وذهبي
يرتّب ASCII كل حرف في شبكة ثابتة مرتّبة من 128 خلية مرقّمة.

نصفان: أحرف التحكم والأحرف القابلة للطباعة

ينقسم الجدول بوضوح إلى منطقتين. فالرموز من 0 إلى 31، إضافةً إلى الرمز 127 (DEL)، هي أحرف التحكم. وهذه لا تطبع رمزًا على الشاشة، بل تأمر الجهاز بفعل شيء: فالرمز 9 جدولة أفقية، والرمز 10 تغذية السطر التي تنتقل إلى سطر جديد، والرمز 13 إرجاع العربة، والرمز 7 الجرس الذي كان يجعل الطرفية ترنّ مسموعةً يومًا ما. وتوجد ثلاثة وثلاثون من رموز الإشارة هذه في المجموع، ورغم أن كثيرًا منها بات اليوم طُرفًا تاريخية، فإن تغذية السطر وإرجاع العربة والجدولة تبقى أساسية لكيفية تنسيق الملفات النصية اليوم.

الرموز من 32 إلى 126 هي الأحرف القابلة للطباعة، وعددها خمسة وتسعون في المجمل. فالرمز 32 هو المسافة، التي تُعدّ قابلة للطباعة لأنها تحرّك المؤشّر وإن لم تُظهر شيئًا. ومن هناك تحصل على علامات الترقيم والرموز، والأرقام من 0 إلى 9 عند الرموز 48 إلى 57، والحروف الكبيرة من A إلى Z عند 65 إلى 90، والحروف الصغيرة من a إلى z عند 97 إلى 122. وتنشأ خاصية أنيقة من هذا التخطيط: فالنسختان الصغيرة والكبيرة من الحرف نفسه تختلفان بالضبط بمقدار 32، ولهذا يحوّل قلب بتة واحدة حالة الحرف. وهذه الانتظامات ليست مصادفات، بل صُمِّمت كي يُجرى الترتيب وتحويل الحالة بحساب بسيط.

العشري والست عشري والثنائي: ثلاث رؤى لعدد واحد

كل رمز ASCII ليس سوى عدد، وستراه مكتوبًا بثلاث طرق. العشري هو الصورة اليومية بالأساس 10، فـ A هو 65. والست عشري، الأساس 16، هو الصورة التي يلجأ إليها المبرمجون لأنها تتماشى مع البايتات: فـ A هو 0x41، ويمتد المدى القابل للطباعة من 0x20 إلى 0x7E. والثنائي، الأساس 2، هو الصورة التي تخزّنها العتاد فعليًا، فـ A هو 1000001 عبر بتاته السبع. الحرف نفسه، وثلاثة تدوينات، والطلاقة في التنقل بينها مهارة جوهرية حين تقرأ مفرغات الذاكرة أو حركة مرور الشبكة. وإذا كنت تعمل بهذه التحويلات كثيرًا، فإن المجموعة الأوسع من الجداول المرجعية على speedor.net تبقي هذه التطابقات على بُعد نقرة واحدة.

تدفّقات من الضوء الثنائي والست عشري تنساب إلى خانات رموز متوهّجة على حقل كحلي
الثنائي والست عشري ليسا سوى أساسين مختلفين يصفان نقطة ترميز ASCII نفسها.

أين لا يزال ASCII يهم

سيكون من الخطأ أن نضع ASCII في خانة التاريخ. فهو حيّ في العمل اليومي لكل من يلمس الكود. فلغات البرمجة تعامل القيم النصية الحرفية والملفات المصدرية وكلمات البروتوكول المفتاحية كـ ASCII على مستوى البايت. وبروتوكولات الشبكة مثل ترويسات HTTP وSMTP وكثير من صيغ الإعداد معرّفة بـ ASCII كي تبقى قابلة للقراءة البشرية. وحين تبدو سلسلة نصية تالفة، يلجأ المطوّرون إلى عارض ست عشري ويقرؤون البايتات الخام مقابل جدول ASCII لرصد حرف تحكم شارد أو نهاية سطر خاطئة. وترميز عناوين URL وBase64 ومتتاليات الهروب كلها تُبنى على قيم ASCII. ولأي شخص ينقّح أخطاء الترميز، فإن مرجعًا سريعًا بجوار أدوات المطوّر لديك يحوّل بايتًا غامضًا إلى إجابة بديهية.

من ASCII إلى يونيكود وUTF-8

عالج ASCII الإنجليزية على نحو رائع ولم يعالج تقريبًا أي شيء آخر. فسقف 128 حرفًا لا يستطيع احتواء الحروف المشكَّلة أو السيريلية أو الصينية أو العربية أو الإيموجي. وقد أجاب يونيكود عن ذلك بإسناد عدد فريد، يُسمى نقطة ترميز، لكل حرف في كل نظام كتابة، وهي الآن أكثر من مئة ألف بكثير. والأهم أن يونيكود فهرس للأحرف، لا صيغة تخزين، لذا فهو يحتاج إلى ترميز يحوّل تلك النقاط إلى بايتات.

UTF-8 هو ذلك الترميز، وهو السبب في أن ASCII لم يختفِ حقًا قط. فـ UTF-8 يستخدم من بايت إلى أربعة بايتات لكل حرف، وقد صُمِّم بحيث تُخزَّن نقاط الترميز من 0 إلى 127، أي مدى ASCII بأكمله، في بايت واحد مطابق لـ ASCII العادي. وهذا يجعل UTF-8 متوافقًا تمامًا مع السابق: فأي ملف ASCII صالح هو بالفعل ملف UTF-8 صالح. والأحرف فوق 127 تستخدم بايتات إضافية. وهذا التوافق الأنيق سبب كبير في أن UTF-8 صار يشغّل الغالبية الساحقة من الويب. وباختصار: ASCII هو النواة الأصلية المكوّنة من 128 حرفًا، ويونيكود هو الفهرس الشامل الذي يحتويه، وUTF-8 هو الترميز الذي يحمل كليهما مع إبقاء نص ASCII دون تغيير بايتًا ببايت.

الأسئلة الشائعة

كم عدد الأحرف في جدول ASCII؟

يحدّد ASCII القياسي 128 حرفًا، مرقّمة من 0 إلى 127. ومن هذه، 95 حرفًا قابلًا للطباعة بما في ذلك المسافة، و33 حرف تحكم تُشير إلى الأجهزة بدلًا من طباعة رمز.

ما الفرق بين أحرف التحكم والأحرف القابلة للطباعة؟

أحرف التحكم، الرموز من 0 إلى 31 إضافةً إلى 127، تأمر الجهاز بفعل شيء مثل تغذية السطر أو الجدولة ولا تنتج رمزًا مرئيًا. والأحرف القابلة للطباعة، الرموز من 32 إلى 126، هي الحروف والأرقام وعلامات الترقيم والمسافة التي تراها فعلًا على الشاشة.

لماذا ASCII ترميز من 7 بتات؟

تمنح سبع بتات بالضبط 128 تركيبًا، وهو ما كان كافيًا لتغطية الحروف الإنجليزية والأرقام وعلامات الترقيم وإشارات التحكم مع توفير عرض النطاق على العتاد المبكر البطيء. وكانت البتة الثامنة في البايت تُحجز غالبًا للتحقق من أخطاء التماثل.

ما رمز ASCII للحرف A؟

الحرف A الكبير هو 65 عشريًا، و0x41 ست عشريًا، و1000001 ثنائيًا. والحرف a الصغير هو 97 عشريًا، أي أعلى بالضبط بمقدار 32، وهو نمط مدمج يتيح إجراء تحويل الحالة بحساب بسيط.

هل ASCII هو نفسه يونيكود؟

لا. يغطّي ASCII 128 حرفًا، بينما يفهرس يونيكود أكثر من مئة ألف حرف عبر كل نظام كتابة. وASCII هو فعليًا أول 128 نقطة ترميز في يونيكود، فهو مجموعة فرعية صغيرة من المعيار الأكبر.

كيف يرتبط UTF-8 بـ ASCII؟

UTF-8 ترميز ليونيكود يخزّن نقاط الترميز من 0 إلى 127 في بايت واحد مطابق لـ ASCII. وهذا يجعل كل ملف ASCII ملف UTF-8 صالحًا، ولهذا يكون UTF-8 متوافقًا مع السابق ويهيمن على الويب الحديث.