ما هو الفرق بين ASCII ونص Unicode؟

ما هو الفرق بين ASCII ونص Unicode؟

ASCII و Unicode كلاهما معياران يشيران إلى التمثيل الرقمي للنص ، وتحديدًا الأحرف التي تشكل النص. ومع ذلك ، فإن المعيارين مختلفان بشكل كبير ، حيث تعكس العديد من الخصائص ترتيب الخلق الخاص بكل منهما.





أمريكا مقابل الكون

لا عجب في أن الكود القياسي الأمريكي لتبادل المعلومات (ASCII) يلبي احتياجات الجمهور الأمريكي ، ويكتب بالأبجدية الإنجليزية. يتعامل مع الأحرف غير المميزة ، مثل A-Z و a-z ، بالإضافة إلى عدد صغير من رموز الترقيم وأحرف التحكم.





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





في المقابل ، تقع مجموعة الأحرف المشفرة العالمية (Unicode) في الطرف المقابل لمقياس الطموح. يحاول Unicode تلبية أكبر عدد ممكن من أنظمة الكتابة في العالم ، لدرجة أنه يغطي اللغات القديمة ومجموعة الرموز التعبيرية المفضلة لدى الجميع ، الرموز التعبيرية.

مجموعة الأحرف أو ترميز الأحرف؟

بعبارات بسيطة ، مجموعة الأحرف هي مجموعة مختارة من الأحرف (على سبيل المثال ، A-Z) بينما ترميز الأحرف هو تعيين بين مجموعة أحرف وقيمة يمكن تمثيلها رقميًا (على سبيل المثال ، A = 1 ، B = 2).



يعتبر معيار ASCII كلاهما بشكل فعال: فهو يحدد مجموعة الأحرف التي يمثلها وطريقة تعيين كل حرف إلى قيمة رقمية.

في المقابل ، تُستخدم كلمة Unicode في عدة سياقات مختلفة لتعني أشياء مختلفة. يمكنك التفكير في الأمر على أنه مصطلح شامل ، مثل ASCII ، للإشارة إلى مجموعة أحرف وعدد من الترميزات. ولكن نظرًا لوجود العديد من الترميزات ، غالبًا ما يتم استخدام مصطلح Unicode للإشارة إلى مجموعة الأحرف الإجمالية ، بدلاً من كيفية تعيينها.





مقاس

نظرًا لنطاقه ، يمثل Unicode أحرفًا أكثر بكثير من ASCII. يستخدم ASCII القياسي نطاقًا من 7 بت لترميز 128 مميزًا الشخصيات . من ناحية أخرى ، فإن Unicode كبير جدًا لدرجة أننا نحتاج إلى استخدام مصطلحات مختلفة فقط للتحدث عنها!

Unicode يلبي 1،111،998 عنونة نقاط الرمز. تشبه نقطة الرمز تقريبًا المساحة المخصصة للشخصية ، لكن الموقف أكثر تعقيدًا من ذلك عندما تبدأ في الخوض في التفاصيل!





المقارنة الأكثر فائدة هي عدد البرامج النصية (أو أنظمة الكتابة) المدعومة حاليًا. بالطبع ، يتعامل ASCII فقط مع الأبجدية الإنجليزية ، وبشكل أساسي الكتابة اللاتينية أو الرومانية. يذهب إصدار Unicode الذي تم إنتاجه في عام 2020 إلى أبعد من ذلك بكثير: فهو يتضمن دعمًا لما مجموعه 154 نصًا.

تخزين

يعني النطاق 7 بت لـ ASCII أنه يتم تخزين كل حرف في بايت واحد 8 بت ؛ لم يتم استخدام قطعة الغيار في ASCII القياسي. هذا يجعل حسابات الحجم تافهة: طول النص ، بالأحرف ، هو حجم الملف بالبايت.

يمكنك تأكيد ذلك بالتسلسل التالي لأوامر bash. أولاً ، نقوم بإنشاء ملف يحتوي على 12 حرفًا من النص:

كيفية إصلاح الكتابة المحمية USB
$ echo -n 'Hello, world' > foo

للتحقق من أن النص موجود بترميز ASCII ، يمكننا استخدام امتداد ملف أمر:

$ file foo
foo: ASCII text, with no line terminators

أخيرًا ، للحصول على العدد الدقيق للبايتات التي يشغلها الملف ، نستخدم الامتداد حالة أمر:

$ stat -f%z foo
12

نظرًا لأن معيار Unicode يتعامل مع نطاق أكبر بكثير من الأحرف ، فإن ملف Unicode يشغل مساحة تخزين أكبر بشكل طبيعي. بالضبط كم يعتمد على الترميز.

يؤدي تكرار نفس مجموعة الأوامر من قبل ، باستخدام حرف لا يمكن تمثيله في ASCII ، إلى إعطاء ما يلي:

$ echo -n '€' > foo
$ file foo
foo: UTF-8 Unicode text, with no line terminators
$ stat -f%z foo
3

يشغل هذا الحرف الفردي 3 بايت في ملف Unicode. لاحظ أن bash قام تلقائيًا بإنشاء ملف UTF-8 نظرًا لأن ملف ASCII لا يمكنه تخزين الحرف المختار (€). UTF-8 هو إلى حد بعيد ترميز الأحرف الأكثر شيوعًا لـ Unicode ؛ UTF-16 و UTF-32 هما ترميزات بديلة ، لكن يتم استخدامهما بدرجة أقل بكثير.

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

ASCII هو Unicode ، لكن Unicode ليس ASCII

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

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

الاستخدام الحديث

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

هل يمكنني فرز بريد جوجل الخاص بي حسب المرسل

على وجه الخصوص ، يجب حفظ صفحات الويب ونقلها باستخدام UTF-8 ، وهو الإعداد الافتراضي لـ HTML5. هذا على عكس الويب السابق ، والذي تم التعامل معه في ASCII افتراضيًا قبل أن يتم استبداله باللاتينية 1.

معيار يتغير

تم إجراء آخر مراجعة لـ ASCII في عام 1986.

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

متعلق ب: شرح أكثر 100 إيموجي شيوعًا

ASCII مقابل Unicode

خدم ASCII غرضه لعقود عديدة ، ولكن Unicode استبدله الآن بشكل فعال لجميع الأغراض العملية بخلاف الأنظمة القديمة. Unicode أكبر وبالتالي أكثر تعبيراً. إنه يمثل جهدًا تعاونيًا عالميًا ويوفر قدرًا أكبر من المرونة ، وإن كان ذلك على حساب بعض التعقيد.

يشارك يشارك سقسقة بريد الالكتروني ما هو نص ASCII وكيف يتم استخدامه؟

يبدو نص ASCII مشفرًا ، لكن له استخدامات عديدة حول الإنترنت.

اقرأ التالي
مواضيع ذات صلة
  • شرح التكنولوجيا
  • إموجيس
  • المصطلحات
  • ثقافة الويب
  • يونيكود
نبذة عن الكاتب بوبي جاك(تم نشر 58 مقالة)

بوبي متحمس للتكنولوجيا وعمل كمطور برمجيات لأكثر من عقدين من الزمن. إنه شغوف بالألعاب ، ويعمل كمحرر المراجعات في مجلة Switch Player ، ومنغمس في جميع جوانب النشر عبر الإنترنت وتطوير الويب.

المزيد من Bobby Jack

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك