1.4.16 تخزّين الأحرف - Character Storage - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (https://www.at4re.net/f) +-- قسم : منتديات البرمجة - Programming Forums (https://www.at4re.net/f/forum-5.html) +--- قسم : البرمجة بالأسمبلي - Assembly Section (https://www.at4re.net/f/forum-16.html) +--- الموضوع : 1.4.16 تخزّين الأحرف - Character Storage (/thread-3976.html) |
1.4.16 تخزّين الأحرف - Character Storage - R333T - 15-05-2024 رحلة في عالم الأسمبلي https://www.youtube.com/playlist?list=PL..._swadKSPga # الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly
تخزّين الأحرف - Character Storage. إذا كانت الحواسيب تخزّن البيانات بشكل ثنائي فقط، كيف يتم تمثيل الأحرف؟ يتم ذلك باستخدام مجموعة الأحرف character set، وهي تطابق واحد-إلى-واحد للأحرف إلى الأعداد الصحيحة. في الأوقات السابقة، استخدمت مجموعات الأحرف 8 بت فقط. حتى الآن، عند تشغيل الحاسوب في وضع الأحرف (مثل MS-DOS)، تستخدم الحواسيب الصغيرة المتوافقة مع IBM مجموعة الأحرفASCII (تُلفظ "أسكي"). هي اختصار للشيفرة الأمريكية القياسية لتبادل المعلومات American Standard Code for Information Interchange . في ASCII، يُسند عدد صحيح فريد مكون من 7 بت لكل حرف. بما أن شفرات ASCII تستخدم فقط أدنى 7 بت من كل بايت، يتم استخدام البت الإضافي في الحواسيب المختلفة لإنشاء مجموعة أحرف خاصة بها. على سبيل المثال، في الحواسيب الصغيرة المتوافقة مع IBM، تُمثّل القيم من 128 إلى 255 رموزاً رسومية وحروف يونانية. مجموعة الأحرف ANSI - ANSI Character Set تعرّف المعهد الوطني الأمريكي للمعايير The American National Standards Institute (ANSI) . مجموعة أحرف بطول 8 بت تمثّل ما يصل إلى 256 حرفاً. الحروف الأولى 128 تتوافق مع الحروف والرموز على لوحة المفاتيح الأمريكية القياسية. الحروف الثانية 128 تمثل الحروف الخاصة مثل الحروف في الأبجديات الدولية، والعلامات، ورموز العملات، والكسور. استخدمت النسخة الأولى من نظام تشغيل Microsoft Windows مجموعة الأحرف ANSI. معيار اليونيكود Unicode Standard في الوقت الحالي، يجب أن تكون الحواسيب قادرة على تمثيل مجموعة واسعة من اللغات الدولية في البرمجيات. نتيجة لذلك، تم إنشاء معيار اليونيكود كطريقة عالمية لتعريف الأحرف والرموز. يعرّف اليونيكود أكوادًا رقمية (تُعرف باسم نقاط الشفرة) code points للأحرف والرموز والترقيم المستخدمة في جميع اللغات الرئيسية، وكذلك الأبجديات الأوروبية، والنصوص العربية اليمينية إلى اليسار، والعديد من النصوص الآسيوية. تُستخدم ثلاث تنسيقات تحويل لتحويل نقاط الشفرة إلى أحرف قابلة للعرض تُعرف باسم تنسيق اليونيكود للتحويل (UTF) Unicode Transformation Format: تُستخدم UTF-8 في HTML، ولها نفس قيم البايت كما في ASCII. تُستخدم UTF-16 في البيئات التي تحقق توازنًا بين الوصول الفعّال إلى الأحرف واستخدام اقتصادي للتخزين. النسخ الحديثة من Microsoft Windows، على سبيل المثال، تستخدم ترميز UTF-16. يتم تشفير كل حرف في 16 بت. تُستخدم UTF-32 في البيئات التي لا تُهتم بالمساحة وتتطلب أحرفًا ذات عرض ثابت fixed-width. يتم تشفير كل حرف في 32 بت. السلاسل ASCII تُسمى سلسلة متتابعة من حرف واحد أو أكثر سلسلة. بصورة أكثر تحديدًا، يتم تخزين سلسلة ASCII في الذاكرة كتتابع من البايتات تحتوي على شفرات ASCII. على سبيل المثال، تُمثّل الشفرات الرقمية للسلسلة "ABC123" الشفرات 41h، 42h، 43h، 31h، 32h، و 33h. السلسلة المُنهية بصفر null-terminated هي سلسلة من الأحرف تليها بايت واحد يحتوي على الصفر. تستخدم لغتا C و C++ السلاسل المُنهية بصفر null-terminated، و تستخدم العديد من وظائف نظام تشغيل Windows أن تكون السلاسل بهذا التنسيق. استخدام جدول ASCII الجدول شفرات ASCII المستخدمة عند تشغيل وضع النافذة في ويندوز. للعثور على الشفرة السداسية عشرية لحرف، انظر على طول الصف العلوي من الجدول وابحث في العمود الذي يحتوي على الحرف الذي تريد ترجمته. الرقم السداسي الأكثر أهمية من القيمة السداسية العشرية في الصف الثاني في أعلى الجدول؛ الرقم الأقل أهمية في العمود الثاني من اليسار. على سبيل المثال، للعثور على الشفرة السداسية العشرية للحرف a، ابحث عن العمود الذي يحتوي على a وانظر في الصف الثاني: الرقم السداسي الأول هو 6. بعد ذلك، انظر إلى اليسار على طول الصف الذي يحتوي على a واحظ أن العمود الثاني يحتوي على الرقم 1. لذلك، الشفرة السداسية العشرية لـ a هي 61. يتم عرض هذا كما يلي بشكل مبسّط: |