الصفحة الرئيسية » howto » لماذا تحتاج الأحرف الإنجليزية إلى وحدات البايت أقل لتمثيل Them من الأحرف في الحروف الهجائية الأخرى؟

    لماذا تحتاج الأحرف الإنجليزية إلى وحدات البايت أقل لتمثيل Them من الأحرف في الحروف الهجائية الأخرى؟

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

    تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser-a subdivision of Stack Exchange ، وهي مجموعة مجتمعية مدفوعة من مواقع Q & A.

    Partial ASCII Chart screenshot مجاملة من ويكيبيديا.

    السؤال

    يريد قارئ SuperUser khajvah معرفة السبب في أن الأبجديات المختلفة تستهلك كميات مختلفة من مساحة القرص عند حفظها:

    عندما أضع 'a' في ملف نصي وحفظه ، فإنه يجعل حجمه 2 بايت. ولكن عندما أضع حرفًا مثل "ա" (رسالة من الأبجدية الأرمنية) ، فإنه يجعل حجمها 3 بايت.

    ما الفرق بين الحروف الهجائية على جهاز الكمبيوتر؟ لماذا تأخذ الإنجليزية مساحة أقل عند حفظها?

    الرسائل هي رسائل ، أليس كذلك؟ ربما لا! ما هو الجواب على هذا اللغز الأبجدي?

    الاجابة

    المساهمين في SuperUser Doktoro Reichard و ernie لديهم الجواب بالنسبة لنا. أولاً ، دوكتورو ريتشارد:

    أحد أنظمة التشفير الأولى التي سيتم تطويرها لاستخدامها في أجهزة الكمبيوتر العادية هي ASCII (الشفرة القياسية الأمريكية لتبادل المعلومات) اساسي. تم تطويره في 1960s في الولايات المتحدة.

    تستخدم الأبجدية الإنجليزية جزءًا من الأبجدية اللاتينية (على سبيل المثال ، هناك القليل من الكلمات المحركة باللغة الإنجليزية). هناك 26 حرفًا فرديًا في هذه الأبجدية ، ولا يتم النظر في القضية. وسيكون هناك أيضا وجود الأرقام الفردية وعلامات الترقيم في أي مخطط يتظاهر بترميز الأبجدية الإنجليزية.

    كانت فترة الستينات من القرن الماضي أيضًا وقتًا لم تكن فيه أجهزة الكمبيوتر تحتوي على مقدار الذاكرة أو مساحة القرص التي لدينا الآن. تم تطوير ASCII ليكون تمثيلًا قياسيًا للأبجدية الوظيفية عبر جميع أجهزة الكمبيوتر الأمريكية. في ذلك الوقت ، تم اتخاذ قرار لجعل كل حرف ASCII 8 بت (1 بايت) لمدة طويلة بسبب التفاصيل الفنية للوقت (يذكر مقالة Wikipedia حقيقة أن الشريط المثقب يحتفظ 8 بت في وضع في وقت). في الواقع ، يمكن نقل مخطط ASCII الأصلي باستخدام 7 بتات ، ويمكن استخدام الثامن لإجراء اختبارات التكافؤ. توسيع التطورات اللاحقة مخطط ASCII الأصلي لتضمين العديد من الأحرف المحسوبة و الرياضية و الطرفية.

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

    جاء يونيكود إلى حيز الوجود كحل لوجود محطات مختلفة عن طريق دمج جميع الشخصيات الممكنة ذات مغزى في مجموعة أحرف مجردة واحدة.

    UTF-8 هي إحدى طرق ترميز مجموعة أحرف Unicode. وهو عبارة عن ترميز متغاير العرض (بمعنى أنه يمكن أن تكون للأحرف المختلفة أحجام مختلفة) وتم تصميمها للتوافق مع نظام ASCII السابق. على هذا النحو ، سيبقى مجموعة أحرف ASCII بايت واحد في الحجم بينما أية أحرف أخرى اثنين بايت أو أكثر في الحجم. UTF-16 هو طريقة أخرى لترميز مجموعة أحرف Unicode. بالمقارنة مع UTF-8 ، يتم ترميز الأحرف إما مجموعة من واحد أو اثنين من وحدات التعليمات البرمجية 16 بت.

    كما هو مذكور في التعليقات الأخرى ، يشغل الحرف "a" بايتًا واحدًا بينما تشغل "ա" وحدتي بايت ، مما يدل على ترميز UTF-8. البايت الإضافي في السؤال الأصلي كان بسبب وجود حرف السطر الجديد في النهاية.

    تليها إجابة من إيرني:

    1 بايت هي 8 بت ، ويمكنها بالتالي تمثيل ما يصل إلى 256 (2 ^ 8) قيمًا مختلفة.

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

    لاحظ أنه بشكل عام ، تستخدم معظم الترميز أول 7 بت (128 قيمة) لأحرف ASCII. هذا يترك البت الثامن ، أو 128 قيمة إضافية لعدد أكبر من الأحرف. أضف الأحرف المحركة واللغات الآسيوية والسيريلية وغيرها ، ويمكنك بسهولة معرفة سبب عدم احتواء 1 بايت على جميع الأحرف.


    هل لديك شيء تضيفه إلى الشرح؟ الصوت قبالة في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.