الفريق العربي للهندسة العكسية

نسخة كاملة : مقدمة عن الترميز (Encoding)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
مقدمة
-------
من المعروف ان الكمبيوتر لا يفهم لغاتنا التي نتحدث بها ولا حتي لغات البرمجة التي نتعلمها ولكنه يفهم اللغة الثنائية (Binary Number System) وعند قيامنا بتخزين قيمة رقمية فانها تتحول للغة الثنائية في النهاية (فمثلا الرقم 86 يخزن 01010110 في الذاكرة) أما بالنسبة للحروف (Characters) فيتم تحويلها الي أرقام (وبعدها للنظام الثنائي كما قلنا) ليفهمها الكمبيوتر

ASCII
-------
وقد وضعت أنظمة لهذا التحويل يسمي الواحد منها (Character Set) وأول تلك الأنظمة هو (ASCII)

[صورة مرفقة: ASCII-Table.svg]

لاحظ في جدول الاسكي ان لكل حرف في لوحة المفاتيح رقما يقابله بالانظمة المختلفة (ثنائي - ثماني - عشري - ست عشري)

عملية تحويل الحرف الي رقم يسمي في حالتنا هنا : ASCII Encoding
والعملية العكسية تسمي : ASCII Decoding

Extended ASCII
-------------------
ولان البايت الواحد به 7 بت فقط فان اكبر الارقام المسموح بها (1111111) اي الرقم 127 فيكون عدد الارقام الكلي 128 (لانهم يتراوحون من 0 الي 127)

1 2 4 8 16 32 64
1 1 1 1  1   1   1

ولكن هذا النظام لا يتناسب مع كل اللغات في العالم نظرا لمحدوديته ولذلك تم عمل ما يسمي ب Extended ASCII وفيه البايت يساوي 8 بت اي اصبحنا نتعامل مع 256 رقما (0 حتي 255)


1 2 4 8 16 32 64 128
1 1 1 1  1   1   1    1


رجاء زد معلوماتك وابحث عن : Code Page



UNICODE
------------
ظهرت مشكلة أخري وهي وجود لغات لا تكفيها البايت الواحد لوضع حروفها ولذا ظهر نظام اليونيكود والنظام المستخدم هنا غالبا هو الست عشري مع وضع U+ في البداية قبل الرقم (مثلا حرف M بعد التحويل يكون U+004D)

يأتي اليونيكود ب 3 اشكال : UTF-8 or UTF-16 or UTF-32

يتبع ...

اذا وجدت اي خطأ او لديك تعديل لاتتردد في تصحيحه ولكن باسلوب مناسب
شكرا ،#عيدمبارك?
كل عام وأنتم بخير تقبل الله منا ومنكم صالح الأعمال وختم الله لكم رمضان بالرحمة والغفران وتقبل صيامكم وقيامكم وصالح أعمالكم وجعلنا واياكم من عتقائه من النار وجعل ختام صومكم عبادة والعيد لكم فرحة وسعادة?
 وكل عام وانتم بالف خير..