جدول ASCII — عشري وسداسي عشري وثنائي وثماني
تصفح جميع رموز ASCII الـ128 (0–127) مع تمثيلاتها العشرية والسداسية عشرية والثمانية والثنائية. تُبرز حروف التحكم (0–31، 127) مع اختصاراتها الرسمية وأسمائها الكاملة. فلترة لعرض الحروف القابلة للطباعة فقط أو رموز التحكم فقط، مع إمكانية البحث برقم عشري أو قيمة hex أو حرف.
| عشري | Hex | حرف | الوصف |
|---|---|---|---|
| 0 | 0x00 | NUL | NUL — Null |
| 1 | 0x01 | SOH | SOH — Start of Heading |
| 2 | 0x02 | STX | STX — Start of Text |
| 3 | 0x03 | ETX | ETX — End of Text |
| 4 | 0x04 | EOT | EOT — End of Transmission |
| 5 | 0x05 | ENQ | ENQ — Enquiry |
| 6 | 0x06 | ACK | ACK — Acknowledge |
| 7 | 0x07 | BEL | BEL — Bell |
| 8 | 0x08 | BS | BS — Backspace |
| 9 | 0x09 | HT | HT — Horizontal Tab |
| 10 | 0x0A | LF | LF — Line Feed |
| 11 | 0x0B | VT | VT — Vertical Tab |
| 12 | 0x0C | FF | FF — Form Feed |
| 13 | 0x0D | CR | CR — Carriage Return |
| 14 | 0x0E | SO | SO — Shift Out |
| 15 | 0x0F | SI | SI — Shift In |
| 16 | 0x10 | DLE | DLE — Data Link Escape |
| 17 | 0x11 | DC1 | DC1 — Device Control 1 (XON) |
| 18 | 0x12 | DC2 | DC2 — Device Control 2 |
| 19 | 0x13 | DC3 | DC3 — Device Control 3 (XOFF) |
| 20 | 0x14 | DC4 | DC4 — Device Control 4 |
| 21 | 0x15 | NAK | NAK — Negative Acknowledge |
| 22 | 0x16 | SYN | SYN — Synchronous Idle |
| 23 | 0x17 | ETB | ETB — End of Transmission Block |
| 24 | 0x18 | CAN | CAN — Cancel |
| 25 | 0x19 | EM | EM — End of Medium |
| 26 | 0x1A | SUB | SUB — Substitute |
| 27 | 0x1B | ESC | ESC — Escape |
| 28 | 0x1C | FS | FS — File Separator |
| 29 | 0x1D | GS | GS — Group Separator |
| 30 | 0x1E | RS | RS — Record Separator |
| 31 | 0x1F | US | US — Unit Separator |
| 32 | 0x20 | SP — Space | |
| 33 | 0x21 | ! | |
| 34 | 0x22 | " | |
| 35 | 0x23 | # | |
| 36 | 0x24 | $ | |
| 37 | 0x25 | % | |
| 38 | 0x26 | & | |
| 39 | 0x27 | ' | |
| 40 | 0x28 | ( | |
| 41 | 0x29 | ) | |
| 42 | 0x2A | * | |
| 43 | 0x2B | + | |
| 44 | 0x2C | , | |
| 45 | 0x2D | - | |
| 46 | 0x2E | . | |
| 47 | 0x2F | / | |
| 48 | 0x30 | 0 | |
| 49 | 0x31 | 1 | |
| 50 | 0x32 | 2 | |
| 51 | 0x33 | 3 | |
| 52 | 0x34 | 4 | |
| 53 | 0x35 | 5 | |
| 54 | 0x36 | 6 | |
| 55 | 0x37 | 7 | |
| 56 | 0x38 | 8 | |
| 57 | 0x39 | 9 | |
| 58 | 0x3A | : | |
| 59 | 0x3B | ; | |
| 60 | 0x3C | < | |
| 61 | 0x3D | = | |
| 62 | 0x3E | > | |
| 63 | 0x3F | ? | |
| 64 | 0x40 | @ | |
| 65 | 0x41 | A | |
| 66 | 0x42 | B | |
| 67 | 0x43 | C | |
| 68 | 0x44 | D | |
| 69 | 0x45 | E | |
| 70 | 0x46 | F | |
| 71 | 0x47 | G | |
| 72 | 0x48 | H | |
| 73 | 0x49 | I | |
| 74 | 0x4A | J | |
| 75 | 0x4B | K | |
| 76 | 0x4C | L | |
| 77 | 0x4D | M | |
| 78 | 0x4E | N | |
| 79 | 0x4F | O | |
| 80 | 0x50 | P | |
| 81 | 0x51 | Q | |
| 82 | 0x52 | R | |
| 83 | 0x53 | S | |
| 84 | 0x54 | T | |
| 85 | 0x55 | U | |
| 86 | 0x56 | V | |
| 87 | 0x57 | W | |
| 88 | 0x58 | X | |
| 89 | 0x59 | Y | |
| 90 | 0x5A | Z | |
| 91 | 0x5B | [ | |
| 92 | 0x5C | \ | |
| 93 | 0x5D | ] | |
| 94 | 0x5E | ^ | |
| 95 | 0x5F | _ | |
| 96 | 0x60 | ` | |
| 97 | 0x61 | a | |
| 98 | 0x62 | b | |
| 99 | 0x63 | c | |
| 100 | 0x64 | d | |
| 101 | 0x65 | e | |
| 102 | 0x66 | f | |
| 103 | 0x67 | g | |
| 104 | 0x68 | h | |
| 105 | 0x69 | i | |
| 106 | 0x6A | j | |
| 107 | 0x6B | k | |
| 108 | 0x6C | l | |
| 109 | 0x6D | m | |
| 110 | 0x6E | n | |
| 111 | 0x6F | o | |
| 112 | 0x70 | p | |
| 113 | 0x71 | q | |
| 114 | 0x72 | r | |
| 115 | 0x73 | s | |
| 116 | 0x74 | t | |
| 117 | 0x75 | u | |
| 118 | 0x76 | v | |
| 119 | 0x77 | w | |
| 120 | 0x78 | x | |
| 121 | 0x79 | y | |
| 122 | 0x7A | z | |
| 123 | 0x7B | { | |
| 124 | 0x7C | | | |
| 125 | 0x7D | } | |
| 126 | 0x7E | ~ | |
| 127 | 0x7F | DEL | DEL — Delete |
عرض 128 من أصل 128 رمز ASCII
كيف تعمل
ما هو ASCII؟
ASCII (American Standard Code for Information Interchange) هو معيار ترميز الحروف نُشر في الأصل عام 1963. يُعرّف 128 حرفًا: 33 حرف تحكم غير قابل للطباعة (الرموز 0–31 و127) و95 حرفًا قابلًا للطباعة (الرموز 32–126)، تشمل حروف اللغة الإنجليزية الكبيرة والصغيرة والأرقام 0–9 وعلامات الترقيم الشائعة. أصبح ASCII الأساس لكل ترميزات النصوص الحديثة تقريبًا، بما فيها UTF-8 الذي يتوافق بشكل تراجعي مع ASCII لنقاط الشفرة الـ128 الأولى.
يُخصَّص لكل حرف ASCII قيمة عددية من 7 بتات، وهذا سبب انتهاء الجدول عند 127 (2⁷ − 1). عند تخزينه في بايت من 8 بتات، يكون البت الأعلى عادةً صفرًا في ASCII القياسي. النطاق الموسّع (128–255) غير موحّد في المواصفة الأصلية ويتباين بحسب صفحة الشفرة — إذ تُعرِّف كل من ISO 8859-1 وWindows-1252 والترميزات المماثلة مجموعات حروف مختلفة للنصف الأعلى من البايت.
حروف التحكم (0–31 و127)
أول 32 رمز ASCII والرمز 127 هي حروف تحكم غير قابلة للطباعة موروثة من أعراف آلات التلتايب. معظمها قديم في الحوسبة الحديثة، غير أن بعضها يبقى مهمًا: الرمز 9 (HT، مسافة أفقية)، الرمز 10 (LF، التغذية السطرية أو سطر جديد في Unix/Linux)، الرمز 13 (CR، إعادة العربة، يُستخدم في نهايات أسطر Windows بصيغة CR+LF)، الرمز 27 (ESC، المُهرِّب، يُستخدم في تسلسلات هروب الطرفية) والرمز 127 (DEL). لا تُعرَض هذه الحروف كأشكال مرئية.
في الأنظمة الشبيهة بـUnix، يمكنك توليد حروف التحكم في الطرفية بالضغط على Ctrl مع الحرف المقابل: Ctrl+A = SOH (1)، Ctrl+C = ETX (3، يُرسل إشارة المقاطعة)، Ctrl+D = EOT (4، يُشير إلى نهاية الإدخال)، Ctrl+J = LF (10)، Ctrl+M = CR (13)، Ctrl+Z = SUB (26، يُعلّق العملية في Unix). فهم هذه الرموز أساسي للإدخال/الإخراج المنخفض المستوى وتسلسلات التحكم في الطرفية وتنفيذ بروتوكولات الشبكة.
ASCII في البرمجة وتطوير الويب
في JavaScript يمكنك الحصول على رمز ASCII للحرف باستخدام charCodeAt(0): تُرجع 'A'.charCodeAt(0) القيمة 65. للتحويل العكسي، تُرجع String.fromCharCode(65) الحرف 'A'. في Python، تُرجع ord('A') القيمة 65 وتُرجع chr(65) الحرف 'A'. في C، قيم char هي أعداد صحيحة ويمكن استخدامها مباشرة في الحسابات: 'A' + 1 يساوي 'B'.
قيم ASCII هي أساس كثير من أنماط البرمجة الشائعة. الفرق بين الحروف الكبيرة والصغيرة دائمًا 32: 'a' (97) = 'A' (65) + 32. تشغل الأرقام 0–9 الرموز 48–57، لذا طرح 48 من قيمة ASCII لحرف رقمي يُعطي قيمته العددية. يُمثّل ترميز URL الحروف غير الآمنة بصيغة %XX حيث XX هو رمز ASCII السداسي عشري، مما يجعل هذا الجدول لا غنى عنه عند تصحيح أخطاء السلاسل المُرمَّزة بـURL وترويسات HTTP.
أسئلة شائعة
›ما رمز ASCII لمفتاح Enter / السطر الجديد؟
حرف السطر الجديد (تغذية السطر) هو رمز ASCII 10 (0x0A، LF). في Unix/Linux/macOS، يُمثَّل السطر الجديد بـLF وحده. في Windows، يُمثَّل بـCR+LF (الرمزان 13 و10، أي 0x0D 0x0A). رمز إعادة العربة هو 13 (0x0D، CR). عند كتابة كود معالجة نصوص متعدد الأنظمة، تعامل دائمًا مع كلا نوعي نهاية الأسطر: LF وCR+LF.
›ما رمز ASCII لحرف المسافة؟
حرف المسافة هو رمز ASCII 32 (0x20، SP). وهو أول حرف قابل للطباعة في ASCII. المسافة غير القاطعة (المستخدمة في HTML كـ ) ليست جزءًا من ASCII القياسي ذي 7 بتات — رمزها 160 (0xA0) في ISO 8859-1، ويُرمَّز في UTF-8 كـ0xC2 0xA0 (بايتان).
›ما الفرق بين ASCII وUTF-8 وUnicode؟
يُعرِّف ASCII 128 حرفًا برموز 7 بتات. Unicode معيار عالمي يُعرِّف أكثر من 140,000 حرف بنقاط شفرة تصل إلى U+10FFFF. UTF-8 هو ترميز متغير العرض لـUnicode: يُرمِّز حروف ASCII (0–127) في بايت واحد محققًا التوافق التراجعي مع ASCII. تستخدم الحروف التي تتجاوز 127 من 2 إلى 4 بايتات في UTF-8. تستخدم أنظمة النصوص الحديثة UTF-8 أو UTF-16، غير أن ASCII يبقى مهمًا لترويسات البروتوكولات وصيغ الملفات والأنظمة القديمة.
›كيف أجد رمز ASCII لحرف في JavaScript؟
استخدم charCodeAt(0): تُرجع 'A'.charCodeAt(0) القيمة 65. لنقاط شفرة Unicode التي تتجاوز 65535، استخدم codePointAt(0) بدلًا من ذلك. لتحويل رمز إلى حرف: تُرجع String.fromCharCode(65) الحرف 'A'. لدعم Unicode الكامل: تُرجع String.fromCodePoint(128512) الرمز التعبيري 😀.
›ما وظيفة رمز ASCII 0 (NUL)؟
NUL (الرمز 0) هو الحرف الفارغ. يُستخدم في C وكثير من اللغات الأخرى كمُنهٍ للسلاسل النصية — تُخزَّن السلسلة 'Hello' في الذاكرة كالبايتات 72, 101, 108, 108, 111, 0. في قواعد البيانات وصيغ الملفات، قد يظهر NUL كفاصل حقول أو بايت حشو. في معظم محررات النصوص والطرفيات، NUL غير مرئي ومُهمَل، لكنه قد يسبب مشكلات عند قراءة الملفات الثنائية كنص.
›ما هو حرف الهروب Escape (ASCII 27)؟
ESC (الرمز 27، 0x1B) هو حرف الهروب. إنه بداية تسلسلات الهروب ANSI/VT100 التي تتحكم في ألوان الطرفية وحركة المؤشر. على سبيل المثال، يُغيِّر التسلسل ESC[31m لون نص الطرفية إلى الأحمر. في كثير من التطبيقات، يُرسَل هذا الحرف عند الضغط على مفتاح Escape. يُستخدم أيضًا في تنسيقات بيانات مختلفة وبروتوكولات الاتصال.
›لماذا للحرف الكبير A رمز ASCII 65 وللحرف الصغير a رمز 97؟
صُمِّم جدول ASCII بحيث تختلف الحروف الكبيرة (A=65، B=66، ...، Z=90) والحروف الصغيرة (a=97، b=98، ...، z=122) بمقدار 32 بالضبط. يُتيح هذا التحويل بين الحالتين بعملية جمع أو طرح واحدة. لتحويل الحرف الكبير إلى صغير في ASCII: أضف 32 (أو عيِّن البت 5). لتحويل الصغير إلى كبير: اطرح 32 (أو امسح البت 5). هذا هو سبب نجاح تحويل حالة الأحرف بالعمليات البتية في C: char lower = upper | 0x20.
›ما الفرق بين CR وLF وCRLF؟
نشأ كل من CR (Carriage Return، الرمز 13) وLF (Line Feed، الرمز 10) من أعراف الآلات الكاتبة والتلتايب. يُعيد CR رأس الطباعة إلى بداية السطر؛ ويُقدِّم LF إلى السطر التالي. يستخدم Unix/Linux LF وحده للأسطر الجديدة. يستخدم Windows CR+LF (كلاهما معًا). استخدم Mac OS الكلاسيكي (قبل OS X) CR وحده. تتعامل معظم المُحلِّلات الحديثة مع الأنواع الثلاثة، لكن خلط نهايات الأسطر في ملفات المصدر يُسبِّب مشكلات في مقارنة نظام التحكم بالإصدارات وبعض معالجات النصوص.
أدوات ذات صلة
آخر تحديث: