هذه المقالة اختصاصية وهي بحاجة لمراجعة خبير في مجالها

أسكي

من ويكيبيديا، الموسوعة الحرة

هذه نسخة قديمة من هذه الصفحة، وقام بتعديلها MaraBot (نقاش | مساهمات) في 12:09، 19 يناير 2021 (روبوت - إضافة لشريط البوابات :بوابة:علم الحاسوب). العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة، وقد تختلف اختلافًا كبيرًا عن النسخة الحالية.

اذهب إلى التنقل اذهب إلى البحث
Ambox glass question.svg
تعرَّف على طريقة التعامل مع هذه المسألة من أجل إزالة هذا القالب.هذه المقالة بحاجة لمراجعة خبير مختص في مجالها. يرجى من المختصين في مجالها مراجعتها وتطويرها. (ديسمبر 2014)
هناك 95 رمز ASCII يمكن طباعتها، تحمل الأرقام من 32 إلى 126.

أسكي (ASCII، (تُلفظ بالإنجليزية: /ˈæski/) ASS-kee)[1] هي مجموعة رموز ونظام ترميز مبني على الابجدية اللاتينية بالشكل الذي تستخدم به في الإنجليزية الحديثة ولغات غرب أوروبية أخرى. من أكثر الاستخدامات شيوعا للنصوص المكتوبة بالآسكي، استخدامها في أنظمة الحاسوب، وفي أجهزة الاتصالات وأنظمة التحكم التي تتعامل مع نصوص.

يعرّف نظام ASCII القياسي الرموز القابلة للطباعة الآتية، مرتبة حسب قيمة ASCII الخاصة بها.

تعريف معيار ASCII

قائمة رموز معيار ترميز ASCII مع مقابلاتها بالقيم العشرية و الست عشرية.

يعتبر معيار ASCII من بين أنظمة تمثيل الرموز في الحاسوب، ويحدد علاقة تناظر بين قيمة رقمية لتتابع البتات وبين رمز أو رسم مستخدم في اللغة المكتوبة. إذ أن الحواسيب تتعامل فقط بإشارات كهربائية إما صفر أو واحد، أي البت (bit) في لغة البرمجة، ويمكن أن تمثل هذه البتات بتسلسلها أرقاما بالنظام الثنائي، ومجموعة من ثمانية بتات تمثل البايت (بالإنكليزية: Byte، بالفرنسية: Octet). و من ثمة ظهرت الحاجة للتعبير عن الحروف والرموز بواسطة الأرقام الثنائية.

يُعَرِّفُ معيار ASCII مجموعة 128 رمزا أسندت لها أعداد ترتيبية من 0 إلى 127 و تم ترميزها بالنظام الثنائي من 0000000 إلى 1111111، وبالتالي تكفي 7 بتات للتعبير عنها. لذا يعد معيار ترميز 7 بتات. لكن بما أن الحواسيب تتعامل مع البايت (أي 8 بتات) فيقع التعبير عن رموز ASCII ببايت كامل يكون فيه البت الثامن غير مستعمل.

إختلفت طرق التعامل مع البت الثامن، فبينما فضلت جل الحواسيب إسناد صفر له (و هو الحل الشائع)، قامت بعض الأنظمة (مثل Prime Computer التي شغلت نظام تشغيل PRIMEROS) بإسناد واحد له، وفي أنظمة أخرى تم إستعماله بت تكافؤ للتأكد من خلو الاتصالات من الأخطاء، أو لأغراض تختلف حسب الهدف من الجهاز المستخدم. و لاحقا، ظهرت إستعمالات في معايير ترميز إمتدادية، للتعبير عن مزيد الرموز والحروف التي يعجز ASCII عن التعبير عنها.

يكتفي معيار ASCII بترجمة تسلسل من البتات إلى حرف أو رمز معين. بالتالي، لن يعبر عن شكل ظهور النصوص أو ترتيبها، وتلك الأمور تقع على عاتق وسائل أخرى مثل اللغات الترميزية (أي لغات توصيف النص) على غرار HTML و غيره.

قائمة الرموز

بعض هذه الرموز لا يمكن إظهارها، وهي الرموز عدد 0 إلى 31 و كذلك الرمز 127. تستعمل هذه الرموز أوامر تحكم لطرفيات الحاسوب، فعلى سبيل المثال يعد الرمز 127 أمر الحذف، بينما الرمز 7 أمر إشارة صوتية.

أما الرموز الأخرى فهي الرموز الطباعية، وتشمل الفراغ (الرمز 32) و الأرقام العربية الغربية، والحروف اللاتينية الكبيرة والصغيرة دون شكلات، ومجموعة من علامات التنقيط والحساب المختارة. يذكر أن عددا من علامات التنقيط هذه تستعمل لأغراض برمجية شتى.

!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~

في الجدول أدناه توضيح لقيم رموز ترميز ASCII.[2]

قيمة الرمز الرمز معنى الرمز
10 8 16 2
0 0 00 0000000 NUL Null - عدم
1 01 01 0000001 SOH Start of Heading - بداية الترويسة
2 02 02 0000010 STX Start of Text - بداية النص
3 03 03 0000011 ETX End of Text - نهاية النص
4 04 04 0000100 EOT End of Transmission - نهاية الإرسال
5 05 05 0000101 ENQ Enquiry - طلب
6 06 06 0000110 ACK Acknowledge - تأكيد وصول
7 07 07 0000111 BEL Bell - جرس منبه
8 010 08 0001000 BS Backspace - زر العودة للخلف (الحذف)
9 011 09 0001001 HT Horizontal Tab - مسافة الجدولة الأفقية
10 012 0A 0001010 LF Line Feed - تخطي سطر جديد
11 013 0B 0001011 VT Vertical Tab - مسافة الجودة العمودية
12 014 0C 0001100 FF Form Feed - تخطي صفحة جديدة
13 015 0D 0001101 CR Carriage Return - عودة سطر
14 016 0E 0001110 SO Shift Out - شفرة خاصة
15 017 0F 0001111 SI Shift In - شفرة قياسية
16 020 10 0010000 DLE Data Link Escape - هروب أثناء البث
17 021 11 0010001 DC1 Device Control 1 à 4 - تحكم جهاز تواصل
18 022 12 0010010 DC2
19 023 13 0010011 DC3
20 024 14 0010100 DC4
21 025 15 0010101 NAK Negative Acknowledge - تأكيد عدم الوصول
22 026 16 0010110 SYN Synchronous Idle - إنتظار متزامن
23 027 17 0010111 ETB End of Transmission Block - نهاية كتلة الإرسال
24 030 18 0011000 CAN Cancel - إلغاء
25 031 19 0011001 EM End of Medium - نهاية الوسيط
26 032 1A 0011010 SUB Substitute - بديل
27 033 1B 0011011 ESC Escape - زر الهروب
28 034 1C 0011100 FS File Separator - فاصل ملف
29 035 1D 0011101 GS Group Separator - فاصل مجموعة
30 036 1E 0011110 RS Record Separator - فاصل تسجيل
31 037 1F 0011111 US Unit Separator - فاصل وحدة
32 040 20 0100000 SP Space - مسافة
33 041 21 0100001 ! علامة التعجب
34 042 22 0100010 " علامة التنصيص
35 043 23 0100011 # علامة الرقم
36 044 24 0100100 $ رمز الدولار
37 045 25 0100101 % النسبة المئوية
38 046 26 0100110 & واو اللاتينية
39 047 27 0100111 ' فاصلة علوية (أبوستروف)
40 050 28 0101000 ( قوس بداية (هلالي)
41 051 29 0101001 ) قوس نهاية (هلالي)
42 052 2A 0101010 * إجَّامة، نجمة، علامة ضرب
43 053 2B 0101011 + علامة جمع (زائد)
44 054 2C 0101100 , فاصلة لاتينية
45 055 2D 0101101 - مطة، شَرْطَة، علامة طرح (ناقص)
46 056 2E 0101110 . نقطة
47 057 2F 0101111 / قُطْرِي، خط مائل، علامة قسمة
48 060 30 0110000 0 رقم صفر
49 061 31 0110001 1 رقم واحد
50 062 32 0110010 2 رقم إثنان
51 063 33 0110011 3 رقم ثلاثة
52 064 34 0110100 4 رقم أربعة
53 065 35 0110101 5 رقم خمسة
54 066 36 0110110 6 رقم ستة
55 067 37 0110111 7 رقم سبعة
56 070 38 0111000 8 رقم ثمانية
57 071 39 0111001 9 رقم تسعة
58 072 3A 0111010 : نقطتان رأسيتان
59 073 3B 0111011 ; فاصلة منقوطة
60 074 3C 0111100 < علامة مقارنة أقل، شارة بداية
61 075 3D 0111101 = علامة مساواة
62 076 3E 0111110 > علامة مقارنة أكثر، شارة نهاية
63 077 3F 0111111 ? علامة الإستفهام اللاتينية
64 0100 40 1000000 @ رمز آت
65 0101 41 1000001 A حرف لاتيني كبير A
66 0102 42 1000010 B حرف لاتيني كبير B
67 0103 43 1000011 C حرف لاتيني كبير C
68 0104 44 1000100 D حرف لاتيني كبير D
69 0105 45 1000101 E حرف لاتيني كبير E
70 0106 46 1000110 F حرف لاتيني كبير F
71 0107 47 1000111 G حرف لاتيني كبير G
72 0110 48 1001000 H حرف لاتيني كبير H
73 0111 49 1001001 I حرف لاتيني كبير I
74 0112 4A 1001010 J حرف لاتيني كبير J
75 0113 4B 1001011 K حرف لاتيني كبير K
76 0114 4C 1001100 L حرف لاتيني كبير L
77 0115 4D 1001101 M حرف لاتيني كبير M
78 0116 4E 1001110 N حرف لاتيني كبير N
79 0117 4F 1001111 O حرف لاتيني كبير O
80 0120 50 1010000 P حرف لاتيني كبير P
81 0121 51 1010001 Q حرف لاتيني كبير Q
82 0122 52 1010010 R حرف لاتيني كبير R
83 0123 53 1010011 S حرف لاتيني كبير S
84 0124 54 1010100 T حرف لاتيني كبير T
85 0125 55 1010101 U حرف لاتيني كبير U
86 0126 56 1010110 V حرف لاتيني كبير V
87 0127 57 1010111 W حرف لاتيني كبير W
88 0130 58 1011000 X حرف لاتيني كبير X
89 0131 59 1011001 Y حرف لاتيني كبير Y
90 0132 5A 1011010 Z حرف لاتيني كبير Z
91 0133 5B 1011011 [ قوس بداية معقف
92 0134 5C 1011100 \ قُطْرِي معكوس
93 0135 5D 1011101 ] قوس نهاية معقف
94 0136 5E 1011110 ^ علامة إقحام (شكلة قبعة)
95 0137 5F 1011111 _ شرطة سفلية
96 0140 60 1100000 ` شكلة خلفية
97 0141 61 1100001 a حرف لاتيني صغير a
98 0142 62 1100010 b حرف لاتيني صغير b
99 0143 63 1100011 c حرف لاتيني صغير c
100 0144 64 1100100 d حرف لاتيني صغير d
101 0145 65 1100101 e حرف لاتيني صغير e
102 0146 66 1100110 f حرف لاتيني صغير f
103 0147 67 1100111 g حرف لاتيني صغير g
104 0150 68 1101000 h حرف لاتيني صغير h
105 0151 69 1101001 i حرف لاتيني صغير i
106 0152 6A 1101010 j حرف لاتيني صغير j
107 0153 6B 1101011 k حرف لاتيني صغير k
108 0154 6C 1101100 l حرف لاتيني صغير l
109 0155 6D 1101101 m حرف لاتيني صغير m
110 0156 6E 1101110 n حرف لاتيني صغير n
111 0157 6F 1101111 o حرف لاتيني صغير o
112 0160 70 1110000 p حرف لاتيني صغير p
113 0161 71 1110001 q حرف لاتيني صغير q
114 0162 72 1110010 r حرف لاتيني صغير r
115 0163 73 1110011 s حرف لاتيني صغير s
116 0164 74 1110100 t حرف لاتيني صغير t
117 0165 75 1110101 u حرف لاتيني صغير u
118 0166 76 1110110 v حرف لاتيني صغير v
119 0167 77 1110111 w حرف لاتيني صغير w
120 0170 78 1111000 x حرف لاتيني صغير x
121 0171 79 1111001 y حرف لاتيني صغير y
122 0172 7A 1111010 z حرف لاتيني صغير z
123 0173 7B 1111011 { قوس حاصرة بداية
124 0174 7C 1111100 | سطر عمودي
125 0175 7D 1111101 } قوس حاصرة نهاية
126 0176 7E 1111110 ~ تلدة
127 0177 7F 1111111 DEL Delete - حذف

على مر الزمن ومع التقدم التقني، ظلت التسميات المستعملة نفسها لكن المعنى اختلف[3] لأنه يرتبط بتقنيات لم تعد مستعملة:

  • رمز الحذف (DEL): كان معناه الأصلي في آلات الرقن التي تتعامل مع البطاقات المثقوبة، مثل تيليتايب. حيث أنه في حال إرتكاب المستعمل لخطأ، كان هناك زر يرجع رأس الكتابة إلى الحرف السابق ويثقب جميع الثقوب (أي ما يعادل 1111111 أو 127، وهو رمز DEL)، و من يستقبل الرسالة عليه أن يتجاهل وجود ذلك الرمز "المحذوف". لكنه بالتدريج صار يستعمل في نفس سياقات استعمال BS لحذف الرمز السابق.
  • رمز العودة للخلف (BS): رمز مرتبط بزر Backspace على لوحات المفاتيح الحديثة. وقع خلط بينه وبين رمز DEL أيهما معني بحذف الرمز السابق، إذ أن توزيعهما على الأزرار وطريقة عملهما إختلفت حسب نوع الجهاز.
  • رمز الهروب (ESC): كان القصد الأصلي منه السماح بإرسال القيم الرقمية لرموز التحكم، عوضا عن تنفيذ معناها مباشرة على الحاسب. في الإستعمالات الحديثة، صار يعني إيقاف عمل العملية الحالية أو الخروج التام من التطبيق.
  • عودة السطر (CR) و تخطي السطر الجديد (LF): كانت في الأصل مرتبطة بآلات الرقن، والتي تشترط في بداية سطر جديد كلتي التعليمتين، الأولى لتحريك رأس الكتابة إلى مكان أول السطر، والثانية لتحريك الورقة. ورثت أنظمة تشغيل الحاسب عرف استعمال التعليمتين تلو بعض، لكن بعض البرامج تستعمل تخطي السطر الجديد (LF) وحده، وأحدث هذا فروقا ومشاكل توافق بين المعايير.
  • نهاية الملف، كان يشار لها برمز المعوض (SUB) للإشارة لمكان إنتهاء الملف (و يسمى في لغات البرمجة EOF)، لكن بعض الإصطلاحات البرمجية تستعمل رمز العدم (NUL) بديلا عن ذلك.

التاريخ

رجوعاً إلى أوائل الستينيات، لم يكن هناك ما يعرف بنظام الآسكي أو بأسلوب موحد. من هذا المنطلق كانت الشركات المصنعة لأجهزة الحاسب وآلات رقن الأوراق المثقوبة، تؤدي مهامها بأي طريقة كانت ترى بأنها مناسبة لتأدية الغرض. أدى ذلك إلى وضعية من الفوضى حيث لم يكن هناك وسيلة لاتصال أجهزة الكمبيوتر المختلفة مع بعضها البعض. فقد كان لكل شركة مصنعة طرقها الخاصة المستخدمة في تمثيل الحروف الأبجدية والأرقام وأمثالها (تقدر بالستين في نفس الفترة)، و أحيانا في نفس الشركة تختلف هذه الطرق: على سبيل المثال كان لشركة IBM مع اختلاف معداتها تسع مجموعات أحرف مختلفة.

قام بوب بيمير الذي كان يعمل لصالح شركة آي بي إم (شركة أعمال دولية) بالإضطلاع بدور هام في تأسيس نظام الآسكي ابتداء من عام 1960، وقد لقب تبعا لذلك "والد الآسكي".[4]

رعى المعهد الوطني الأمريكي للمقاييس (ANSI)، و قد كان وقتها معروفا بجمعية المعايير الأمريكية (American Standards Association أو ASA) تأسيس لجنة أسموها X3 عكفت على تحديد "شفرة المعيار الأمريكي لتبادل المعلومات" (American Standard Code for Information Interchange) و إختصارها ASCII. ظهرت أول مراجعات هذا المعيار في سنة 1963 و مرت على تنقيحات كثيرة آخرها كان في سنة 1986.

أصناف الحروف

حروف التحكم

يخصص الأسكي الحروف الاثنين والثلاثين الأولى من أجل حروف التحكم.

الحروف القابلة للطبع

الرموز التي تسير من 20hex إلى 7Ehex (أي الحرف ما قبل الأخير في صيغة الأسكي المعتمدة على سبعة بتات والذي يقابله العدد 126) هي حروف قابلة للطبع. الحرف الأخير (أي الحرف الذي يقابله العدد 127) هو حرف غير قابل للطبع.

حدود إستعمالات ترميز ASCII

يخلو نظام ترميز ASCII من الرموز الكافية لإمكانية تمثيل النصوص بلغات غير اللغة الإنكليزية، كما أن كمية الرموز الخاصة التي يحتويها محدودة، مما أدى لضرورة استعمال أنظمة ترميز نصوص مختلفة لغيرها من اللغات على غرار العربية أو الروسية أو لغات أوروبا الشرقية وغيرها الكثير.

ظهرت على ثلاث فترات، مقاربات بديلة مختلفة لتوطين ترميز النصوص جراء حدود المعيار الأمريكي ASCII:

  • ظهور معايير محلية، طول الرمز فيها بايت واحد، وهي أسهلها إنشاء. على سبيل المثال يذكر معيار ASMO 449 للغة العربية الذي هو معيار ASCII بتعويض الحروف اللاتينية بمقابلات عربية. من مساوئ هذه الطريقة أن كم الرموز الذي يمكن التعبير عنه محدود بهذا المعيار، ويجب توضيح الترميز لزوما خارج النص.
  • ظهور معايير إمتدادية، يكون للنص فيه سياق، وبإختلاف السياقات تكون لنفس القيمة رموز مختلفة (مثل أسرة معايير ISO/CEI 2022). على سبيل المثال نذكر فكرة "صفحات الترميز" (code page) على غرار ويندوز 1252 للغة العربية. من مساوئ هذه الطريقة أنها تسبب تضاربا في تأويل النص بين المعايير المختلفة.
  • ظهور معايير شاملة لعدة لغات وتستعمل عدة بايتات، وكان معيار يونيكود الكفيل بهذا لكونه يغطي العدد الأكبر من اللغات.

في خضم هذه المراحل، تمت إعادة تصنيف وتسمية معيار ASCII الأصلي قبل كل تلك البدائل الجديدة إلى الأسماء التالية:

  • ANSI X3.4:1986 (و أحيانا يسمى، خطأَ، "معيار ANSI" مع أن اللفظة تعني في الأصل "المعهد الوطني الأمريكي للمقاييس" و هذا المعيار كان قرارا منه)
  • ISO/CEI 646-US
  • صفحة الترميز Code Page IBM 367
  • US-ASCII ، و هي تسمية عامة يمكن أن تحيل على أي من الأشكال السابقة لهذا المعيار.

مازال استعمال ASCII دارجا إلى اليوم في الحواسيب على نطاق واسع، وبعض خدمات البريد الإلكتروني (MIME) و رسائل الهاتف SMS مازالت تستعمل النسخة الأصلية بطول 7 بتات للحرف بدل 8. كما أن أكثر المعايير البديلة الرائجة حاليا تحافظ على التوافق مع قيم رموزه.

تغيرات نظام أسكي وأنظمة أخرى مستمدة منه

يونيكود

قد يمثل يونيكود الحروف في ثماني بتات أو ستة عشر بتا أو اثنين وثلاثين بتا. هذه الأنظمة الثلاثة تسمى على التوالي UTF-8 وUTF-16 وUTF-32.

انظر أيضا

مراجع

  1. ^ "Pronunciation for ASCII", Merriam Webster (audio), مؤرشف من الأصل في 08 ديسمبر 2019, اطلع عليه بتاريخ 14 أبريل 2008 الوسيط |CitationClass= تم تجاهله (مساعدة); الوسيط |separator= تم تجاهله (مساعدة)CS1 maint: ref=harv (link).
  2. ^ "Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion". www.asciitable.com. مؤرشف من الأصل في 9 ديسمبر 2020. اطلع عليه بتاريخ 09 ديسمبر 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. ^ "ASCII codes". text-symbols.com (باللغة الإنجليزية). مؤرشف من الأصل في 9 ديسمبر 2020. اطلع عليه بتاريخ 09 ديسمبر 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)
  4. ^ "History - ASCII-World". ascii-world.wikidot.com. مؤرشف من الأصل في 9 ديسمبر 2020. اطلع عليه بتاريخ 09 ديسمبر 2020. الوسيط |CitationClass= تم تجاهله (مساعدة)