Command Palette

Search for a command to run...

جدول ASCII: الدليل الكامل لرموز الأحرف (0 adrict255)

جدول ASCII: الدليل الكامل لرموز الأحرف (0 adrict255)

T
Toolz Team
|Aug 23, 2026|15 دقيقة قراءة

جزء من مجموعة ثنائي وسداسية

في المرة الأولى التي كان فيها ASCII مهمًا حقًا بالنسبة لي، كنت أقوم بتصحيح أخطاء استيراد CSV لمكون WordPress الإضافي الذي استمر في تقسيم عنوان عميل واحد &#39؛ إلى صفين. بدا الملف جيدًا في كل محرر فتحته فيه. اتضح أن إحدى عمليات التصدير استخدمت إرجاع حرف عاري (الرمز 13) كسطر ينتهي بينما توقع المحلل اللغوي تغذية سطر (الرمز 10)، وتسلل فاصل سجل طائش (الرمز 30) من تصدير الكمبيوتر المركزي. لا يطبع أي من هذه الأحرف أي شيء. لا يمكنك رؤيتها. لا يمكنك رؤيتها إلا إذا كان لديك جدول يحول البايت غير المرئي إلى رقم واسم - وهذا هو بالضبط سبب قيامي ببناء جدول ASCII على Toolz.dev ولماذا أحتفظ به مثبتًا في علامة تبويب المتصفح.

ليرة تركية؛DR: يقوم ASCII بتعيين كل حرف إنجليزي أساسي ومجموعة من إشارات التحكم إلى الأرقام 0 ber127؛ مجموعات موسعة مثل ISO 8859-1 (Latin-1) تملأ 128 or255. رأس المال A هو 65، صغير a هو 97، والمسافة 32، و&quot؛ غير مرئي واقتباس؛ الرموز 0 hir31 هي أحرف تحكم مثل علامة التبويب (9)، وتغذية السطر (10)، وإرجاع السطر (13). إذا كنت تستطيع قراءة الجدول، فيمكنك فك تشفير أي خطأ في ترميز النص تقريبًا، والهروب من أي حرف بأمان في HTML، وفهم سبب تصرف UTF-8 وJSON وكل لغة برمجة بالطريقة التي تتصرف بها مع السلاسل.

أنا &#39؛ لقد أمضيت سنوات في بناء الأشياء التي تعيش وتموت عند معالجة النصوص - مكون إضافي لمسؤول WordPress، وواجهات برمجة تطبيقات Laravel، وواجهات React الأمامية - ويمكنني أن أخبرك أن النموذج العقلي العامل لـ ASCII يوفر ساعات تصحيح أخطاء أكثر من أي جزء آخر تقريبًا من المعرفة ذات المستوى المنخفض. هذا الدليل هو الإصدار الذي أتمنى أن يكون شخص ما قد سلمني إياه مبكرًا.

ما هو ASCII ولماذا لا يزال مهما؟

يرمز ASCII إلى الكود القياسي الأمريكي لتبادل المعلومات. تم توحيده لأول مرة في عام 1963 واستقر في النموذج الذي لا نزال نستخدمه باسم ANSI X3.4-1986 (تم نشره أيضًا دوليًا باسم ISO/IEC 646)، ولا يزال تعريف الشبكة مذكورًا حتى اليوم هو RFC 20 (1969). يوجد في جوهره جدول بحث: تعيين من الأرقام من 0 إلى 127 إلى مجموعة محددة من الأحرف وإشارات التحكم. سبع بتات، 128 فتحة، اتفاق واحد يمكن لعالم الحوسبة بأكمله مشاركته.

هذه الاتفاقية هي السبب في أن الملف النصي المكتوب على خادم Linux في عام 1990 لا يزال يفتح بشكل صحيح على كمبيوتر محمول يعمل بنظام Mac اليوم. قبل رموز الأحرف القياسية، كان لكل مصنع مخططه الخاص، وكان نقل النص بين الأجهزة يمثل مشكلة في الترجمة. قام ASCII بإصلاح الرموز الـ 128 السفلية الموجودة، ولم يتحرك أبدًا منذ ذلك الحين.

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

كيف يتم تنظيم جدول ASCII؟

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

أحرف التحكم (0's31 و 127). هذه هي الرموز غير المطبوعة. إنها تحمل تعليمات بدلاً من الحروف الرسومية: null (0)، bell (7)، مسافة للخلف (8)، علامة تبويب أفقية (9)، تغذية السطر (10)، إرجاع السطر (13)، الهروب (27)، والحذف (127) هي تلك التي ستلتقي بها أنت و#39؛ ستلتقي بها بالفعل. لقد تم تصميمها لقيادة أجهزة المبرقة، ولا تزال أشباحها تقوم بتشغيل كل شيء بدءًا من نهايات الأسطر في ملفاتك المصدر وحتى تسلسلات الهروب التي تلون مخرجاتك الطرفية.

علامات الترقيم والرموز القابلة للطباعة (32 نص47، 58 نص64، 91 نص96، 123 نص126). المساحة هي 32 - أقل رمز قابل للطباعة، ومن الناحية الفنية حرف طباعة على الرغم من أنه لا يظهر شيئًا. والباقي عبارة عن رموز منتشرة حول لوحة المفاتيح الخاصة بك ! هو 33، @ هو 64، ~ هو 126.

أرقام (48-57). الشخصيات 0 خلال 9 اجلس في جولة رائعة من 48 إلى 57. هذا الترتيب متعمد: اطرح 48 من رمز الرقم &#39؛s وستحصل على قيمته الرقمية، وهي الطريقة التي يتم بها كل &quot تقريبًا؛ قم بتحليل رقم من سلسلة &quot؛ يبدأ الروتين.

الحروف الكبيرة (65 بوصة 90) والأحرف الصغيرة (97 بوصة 122). A هو 65، Z هو 90؛ a هو 97، z هو 122. الفجوة بين الحرف &#39؛s الكبيرة والصغيرة هي دائمًا 32 بالضبط.

النطاق الممتد (128 breat255) هو حيوان مختلف، وهو &#39؛s حيث يعيش معظم الارتباك - لذلك يحصل على قسم خاص به أدناه.

ما هو الفرق بين ASCII و ASCII الممتد؟

يحدد معيار ASCII 128 رمزًا فقط لأنه يستخدم سبع بتات فقط. لكن أجهزة الكمبيوتر تخزن النص في بايتات مكونة من ثمانية بتات، مما يترك 128 فتحة إضافية (128 بوصة 255) غير مستخدمة بواسطة المعيار. &quot؛ ASCII&quot الموسعة؛ هو المصطلح الشامل للمخططات المختلفة التي تملأ تلك الفتحات.

المشكلة - وهي &#39؛s كبيرة - هي أنه لا يوجد ASCII ممتد واحد. تقوم صفحات الرموز المختلفة بتعيين الرموز الـ 128 العليا بشكل مختلف تمامًا. تضع صفحة الرموز IBM&#39؛s 437 أحرف رسم المربع هناك. يضع Windows-1252 علامات الاقتباس المتعرجة وعلامة اليورو هناك. ISO/IEC 8859-1، المعروف باسم Latin-1، أحرف أوروبا الغربية المميزة هناك. بايت بقيمة 233 هو é في اللاتينية-1، ولكن هناك شيء آخر بالكامل في صفحة الرموز 437.

في Toolz.dev أعرض تخصيص ISO 8859-1 (Latin-1) للرموز 160 strif55، لأنه معيار منشور حقيقي وهو أساس مجموعة أحرف HTML الأصلية - مما يعني أن كيانات HTML المسماة تصطف. الرموز 128 min159 في Latin-1 هي كتلة ثانية من أحرف التحكم (&quot؛C1&quot؛ عناصر التحكم)، لذا تقوم الأداة بتسميتها على هذا النحو بدلاً من التظاهر بأنها &#39؛ قابلة للطباعة.

الدرس العملي: عندما يقول شخص ما &quot؛ ASCII الموسعة، &quot؛ اسأل دائما أي واحد. صفحة الرموز غير المتطابقة هي السبب الكلاسيكي لـ é mojibake ترى متى تتم قراءة ملف UTF-8 كـ Latin-1، أو مربعات الحروف الرسومية المفقودة عندما يحدث العكس. فهم خصوصية البيانات وكيفية تعامل الأدوات مع النص الخاص بك هو أحد المخاوف؛ إن فهم كيفية تعيين البايتات للأحرف هو النصف الآخر من عدم المفاجأة أبدًا بالنص المشوه مرة أخرى.

لماذا تختلف الأحرف الكبيرة والصغيرة بمقدار 32 بالضبط؟

هذه هي القطعة المفضلة لدي من تصميم ASCII، لأنها &#39؛s ليست مجرد حادث - إنها &#39؛s الهندسة. تم اختيار التخطيط بحيث تختلف أشكال الأحرف الكبيرة والصغيرة من الحرف &#39؛ فقط في البت 5، الذي له القيمة 32. A هو 65 (ثنائي 01000001a هو 97 (ثنائي 01100001). والفرق الوحيد هو تلك البتة الواحدة.

ويعني هذا القرار أن البرنامج يمكنه تغيير الحالة بعملية بت واحدة بدلاً من جدول البحث. بأحرف كبيرة، قم بمسح البت 5 (code & ~32)؛ لأحرف صغيرة كبيرة، اضبطها (code | 32)؛ لتبديل الحالة في كلتا الحالتين، اقلبها (code ^ 32). تم بناء عقود من مكتبات السلسلة على هذه الخدعة قبل Unicode&#39؛ قواعد الحالة الأكثر تعقيدًا جعلتها غير آمنة لأي شيء يتجاوز ASCII العادي. عندما تتصفح الجدول وتلاحظ أن كل حرف كبير يقع بدقة 32 أسفل توأمه الصغير، فإنك &#39؛ نحن ننظر إلى القرار الذي تم اتخاذه في الستينيات والذي لا يزال يشكل كيفية كتابة البرنامج.

كيف يمكنني التحويل بين الأحرف، العشرية، السداسية، والثنائية؟

يحتوي كل رمز ASCII على أربعة تمثيلات مشتركة، ويعد التنقل بينها جزءًا روتينيًا من العمل منخفض المستوى. هنا #39؛ كيفية ارتباطهم بالحرف H:

التمثيل قيمة ل H أين أنت &#39؛ سوف أراها
شخصية H نص عادي
عشري 72 String.fromCharCode(72)، chr(72)
سداسي عشري 48 مقالب عرافة، \x48، ترميز URL/النسبة المئوية
ثماني 110 أدوات يونكس الأقدم، \110 يهرب
ثنائي 01001000 عمليات البت، تصميم البروتوكول

لتهجئة كلمة من سداسي عشري، خذ كل زوج من الأرقام السداسية كبايت واحد 48 69 هو 72105 في النظام العشري، وهو Hi. للذهاب في الاتجاه الآخر، ابحث عن كل حرف ورمز #39؛s. ال جدول ASCII يقوم بكلا الاتجاهين - فهو يعرض جميع الأعمدة الخمسة لكل رمز، ويقبل مربع البحث الخاص به حرفًا ورقمًا عشريًا وقيمة سداسية (مع أو بدون 0x البادئة)، أو سلسلة ثماني أو ثنائية، أو حتى اسم كيان HTML، لذا اكتب &، 38، أو amp كل القفز إلى علامة العطف.

إذا كنت &#39؛ تقوم بشكل روتيني بتحويل سلاسل كاملة أو العمل عبر قواعد أرقام تتجاوز ASCII، فإن مترجم ثنائي و ال محول رقم قاعدة هي الأدوات المصاحبة التي أصل إليها. جدول ASCII هو المرجع؛ هذين هما مناضد العمل.

ما هي أحرف التحكم ASCII في الواقع؟

تبدو الرموز غير المطبوعة 0 intreag31 (بالإضافة إلى 127) وكأنها قطع متحفية، لكن العديد منها يدير حياتك يوميًا.

تغذية الخط (10) وإرجاع النقل (13) هما الاثنان الكبيران. في المبرقة الكاتبة، أدى إرجاع حرف النقل إلى تحريك رأس الطباعة مرة أخرى إلى الهامش الأيسر وقام تغذية السطر بتقديم الورقة سطرًا واحدًا - إجراءين ماديين منفصلين. هذا الإرث هو سبب إنهاء ملفات Windows النصية بسطرتين (CRLF13 ثم 10)، بينما يستخدم Unix وmacOS تغذية الأسطر فقط (LF، 10). تقريبا كل &quot؛ لماذا ملفي مليء ^M الشخصيات؟&اقتباس؛ تعود آثار الأخطاء إلى هذا الانقسام. كانت كارثة CSV الخاصة بي من المقدمة هي هذه بالضبط.

علامة التبويب الأفقية (9) هو حرف علامة التبويب - بايت واحد يعرضه المحررون على شكل عدة مسافات. لاغية (0) ينهي السلاسل في لغة C والعلامات &quot؛ لا توجد بيانات وquot؛ في تنسيقات لا حصر لها. الهروب (27) يقدم تسلسلات التحكم التي تحرك المؤشر وتلوين جهازك الطرفي. الجرس (7) ذات مرة رن الجرس الفعلي؛ الآن يصدر صوتًا أو يومض نافذتك الطرفية.

السبب وراء أهمية تسمية جدول جيد لهذه الرموز: عندما تجد بايت 27 موجودًا في بياناتك، &quot؛ESC - الهروب والاقتباس؛ يخبرك على الفور أنك &#39؛ ننظر إلى تسلسل التحكم الطرفي، وليس النص الفاسد. الرقم الخام سيتركك في حالة تخمين.

كيف يرتبط ASCII بكيانات HTML والهروب الآمن؟

إذا كنت تكتب للويب - والبناء مجموعة أدوات مطور قوية يعني أنك ستفعل ذلك - تحتاج مجموعة من أحرف ASCII إلى الهروب حتى لا يفعل المتصفح &#39؛ أخطأت في قراءتها كعلامات. علامة أقل من < (60)، أكبر من > (62)، علامة الضم & (38)، والاقتباس المزدوج " (34) هم الأربعة الخطيرون. إذا تركت خام داخل HTML، فيمكنها كسر صفحتك أو فتح فتحة الحقن؛ مكتوبة ككيانات (&lt;، &gt;، &amp;، &quot;) يتم تقديمها كأحرف حرفية.

يحتوي كل رمز أيضًا على كيان HTML رقمي في النموذج &#code;، لذلك حتى الحرف الذي لا يحتوي على كيان مسمى يمكن دائمًا كتابته بأمان. يسرد جدول ASCII الكيان المسمى حيثما يوجد والنموذج الرقمي بخلاف ذلك، والنقر فوق عمود HTML ينسخه مباشرة إلى الحافظة الخاصة بك. عندما تحتاج إلى تشفير أو فك تشفير كتلة كاملة من العلامات بدلاً من البحث عن حرف واحد، فإن كيانات HTML تتعامل الأداة مع المهمة المجمعة. للقيام بجولة أعمق في أدوات التشفير المساعدة التي أستخدمها يومًا بعد يوم، دليل أدوات الترميز يمشي عبر المجموعة بأكملها.

هل جدول ASCII هو نفسه Unicode؟

لا، لكنهم &#39؛ متوافقون بشكل متعمد، والعلاقة تستحق أن تصبح مستقيمة. Unicode هو معيار أكبر بكثير - أكثر من مليون نقطة رمز محتملة، تغطي كل نظام كتابة بالإضافة إلى الرموز والرموز التعبيرية. ASCII، برموزها الـ 128، هي مجموعة فرعية صغيرة. ما يجعلها تلعب معًا بشكل جيد هو أن أول 128 نقطة رمز من Unicode&#39؛ تم تعريفها لتكون مطابقة لـ ASCII، ويقوم UTF-8 بتشفير تلك النقاط الـ 128 بالضبط كبايتات مفردة مع قيم ASCII الخاصة بها.

والنتيجة أنيقة: أي ملف ASCII صالح هو تلقائيًا ملف UTF-8 صالح. لن تضطر أبدًا إلى تحويل نص إنجليزي عادي بين الاثنين. في اللحظة التي تتجاوز فيها الرمز 127 - حرف مميز، أو اقتباس مجعد، أو رمز تعبيري - تترك ASCII خلفك وأنت &#39؛ أنت ثابت في منطقة Unicode متعددة البايتات، حيث قد يشغل حرف واحد بايتين أو ثلاثة أو أربعة بايت. يغطي جدول Toolz.dev ASCII نطاقات ASCII وLatin-1 مباشرة، ويقوم برنامج تشفير النص الخاص به بالإبلاغ عن نقطة رمز Unicode لأي حرف تقوم بلصقه خلفهما، حتى تتمكن من رؤية أين ينتهي ASCII بالضبط ويتولى Unicode المسؤولية.

الأسئلة المتداولة

ما هو ASCII؟

ASCII (الرمز القياسي الأمريكي لتبادل المعلومات) هو معيار ترميز الأحرف يعين الحروف والأرقام وعلامات الترقيم وإشارات التحكم إلى الأرقام من 0 إلى 127. تم توحيده على أنه ANSI X3.4 في عام 1963 ولا يزال هو الأساس لتشفيرات النص الحديثة ، بما في ذلك UTF-8 ، التي تتطابق نقاطها الـ 128 الأولى مع ASCII.

ما هي قيمة ASCII لـ &quot؛A&quot؛؟

الحرف الكبير &quot؛A&quot؛ له قيمة ASCII 65 (ست عشري 41، ثماني 101، ثنائي 01000001). أحرف صغيرة وحاصل؛a&quot؛ هو 97 - أعلى بـ 32 بالضبط - ولهذا السبب يؤدي قلب البت 5 إلى تبديل الحرف بين الأحرف الكبيرة والصغيرة.

ما هو الفرق بين ASCII و ASCII الممتد؟

يستخدم معيار ASCII 7 بتات ويحدد 128 رمزًا (0 squart127). &quot؛ ASCII&quot الموسعة؛ يستخدم البت الثامن لإضافة 128 رمزًا آخر (128 بوصة 255) للأحرف والرموز وأحرف رسم المربعات المميزة. لا يوجد ASCII ممتد واحد - تقوم صفحات الرموز المختلفة بتعيين النصف العلوي بشكل مختلف. يوضح هذا الجدول تعيين ISO 8859-1 (Latin-1)، وهو أساس مجموعة أحرف HTML اللاتينية-1.

ما هي أحرف ASCII Control؟

الرموز 0-31 و 127 هي أحرف تحكم غير مطبوعة تحمل تعليمات بدلاً من الحروف الرسومية المرئية. تشمل العناصر الشائعة تغذية الخط (10) ، وعودة النقل (13) ، وعلامة التبويب الأفقية (9) ، والهروب (27) ، والقيم الفارغة (0). لقد سيطروا في الأصل على آلات النوعية عن بعد ولا يزالون يكملون الخطوط ، وتحديد الحقول ، ويقودون تسلسلات الهروب الطرفية اليوم.

كيف أقوم بتحويل عرافة إلى ASCII؟

يمثل كل زوج من الأرقام السداسية بايتًا واحدًا، والذي يتم تعيينه لرمز ASCII واحد. Hex 48 هو 72 بالنظام العشري، وهو &quot؛H&quot؛؛ السداسي 69 هو 105، وهو &quot؛i&quot؛ - إذن 4869 تعويذة واقتباس؛Hi&quot؛. ابحث في جدول ASCII بالقيمة السداسية (مع أو بدون بادئة 0x) للعثور على الحرف المطابق على الفور.

لماذا تختلف الأحرف الكبيرة عن الأحرف الصغيرة بمقدار 32 في ASCII؟

تم وضع ASCII بحيث يكون الفرق الوحيد بين النماذج الكبيرة والصغيرة letter&#39؛ هو البت 5 (القيمة 32). &quot؛A&quot؛ هو 65 و&quot؛a&quot؛ هو 97؛ &quot؛Z&quot؛ هو 90 و&quot؛z&quot؛ هو 122. يتيح هذا التصميم المتعمد للبرامج تغيير الحالة من خلال عملية بت واحدة بدلاً من جدول البحث.

هل جدول ASCII هو نفسه Unicode؟

ليس هو نفسه، ولكنه متوافق. Unicode هو معيار أكبر بكثير يغطي أكثر من مليون نقطة رمز عبر كل نظام كتابة. تتطابق نقاط التعليمات البرمجية الـ 128 الأولى الخاصة بها مع ASCII، ويقوم UTF-8 بتشفيرها كبايتات مفردة، لذا فإن نص ASCII الصالح صالح أيضًا UTF-8. يغطي جدول ASCII نطاقات ASCII وLatin-1؛ يقوم برنامج التشفير الخاص به بالإبلاغ عن نقاط رمز Unicode للأحرف التي تتجاوزها.

هل النص الخاص بي خاص عندما أستخدم جدول ASCII؟

نعم. يتم إنشاء الجدول بأكمله في متصفحك بلغة JavaScript عادية، وتتم معالجة أي نص تلصقه في برنامج التشفير محليًا - ولا يتم تحميله أو تسجيله أو تخزينه مطلقًا، وتستمر الأداة في العمل بدون اتصال بالشبكة بمجرد تحميل الصفحة.


كتبه Liton، منشئ [Toolz.dev](/، WP Adminify، وسلسلة طويلة من مشاريع Laravel وReact التي أدت جميعها، عاجلاً أم آجلاً، إلى الحصول على البايتات الصحيحة.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!