أجهزة الكمبيوتر شبابيك إنترنت

يخصص معيار الترميز الموحد لكل حرف. ما هو Unicode

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

في الواقع ، حتى في عنوان هذه الملاحظة ، هناك بعض عدم الدقة - أو بالأحرى ، هناك تناقض. الحقيقة هي أنه لا يوجد إجماع حول كيفية تهجئة الكلمة الإنجليزية بشكل صحيح Unicode بالأحرف الروسية - Unicode أو Unicode. سنستخدم الآن خيار التدقيق الإملائي الأول.

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

حسنًا ، ولكن كيف يمكن لكل هذه القطع من الكمبيوتر أن تصنع التاريخ؟ سيبدو الرقم عشرة على النحو التالي: بهذه الطريقة ، لكتابة الأرقام ، نسميها ثنائيًا ، تعلمنا استخدام الأرقام العشرية. يتم ذلك بحيث يتم تعيين رقم لكل حرف. الجملة "علاء لديه قطة" هي مجموعة من الأرقام.

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

لاحظ أن الأحرف الكبيرة والصغيرة هي حرف منفصل للكمبيوتر ، والمسافة البيضاء هي أيضًا علامة ، على الرغم من أنها غير مرئية. بالإضافة إلى ذلك ، يتم التعامل مع الأرقام الفردية بنفس الطريقة. على سبيل المثال ، لا يتم تعيين الرقم 1 للحرف 1 ، فقط.

لا ، ولكن أين يعرف الكمبيوتر الحرف الذي تم تعيينه هذا العدد؟ الجواب هو ترميز الأحرف. بشكل عام ، إنه جدول به جميع الرموز والأرقام المخصصة لهم. بمرور الوقت ، لم يعد هذا الرقم كافياً - اكتسبت أجهزة الكمبيوتر قدرات جديدة وأصبحت أكثر شيوعًا في البلدان الأخرى ذات الأحرف الخاصة.

ينقسم معيار يونيكود إلى قسمين. الأول هو مجموعة من الأرقام المقابلة لكل حرف في كل أبجدية مدعومة. يطلق عليه مجموعة الأحرف العالمية ، أو UCS فقط. الأرقام المستخدمة في مساحة رمز UCS كلها أعداد صحيحة وغير سالبة. تم تحديد هذه الأرقام - مواضع الكود - على أنها U + 0000 ، U + 0001 ، U + 0002 ، إلخ. مع كل هذا ، فإن مساحة الشفرة ليست متجانسة ، ولكنها مقسمة إلى عدة مناطق دلالية. الرموز من U + 0000 إلى U + 007F هي أحرف ASCII ، متبوعة بأحرف أبجدية وطنية مختلفة ، وعلامات ترقيم وشخصيات فنية مثل حرف يعود على سطر جديد. الجزء الثاني من المعيار هو ، في الواقع ، الترميزات التي توفر تمثيلًا بتاتًا لكل رمز في النص.

على الرغم من أن كلاهما يحتوي على أكثر من مائتين وخمسين حرفًا ، إلا أن هذا الرقم لا يزال غير كافٍ للعمل في جميع اللغات ، لذلك لكل عائلة لغوية نسختها الخاصة من هذه الترميزات. هذا يسمى صفحة التعليمات البرمجية. كان لديهم جميعًا نفس الأصل ، لذلك قاموا بتضمين علامات الترقيم ، والأحرف الإنجليزية الكبيرة والصغيرة ، والأرقام. ومع ذلك ، اختلفت الأحرف المتبقية من إصدار إلى آخر.

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

يتم تقسيم جميع أحرف unicode إلى نوعين - موسعة وعديمة العرض (معدلة). الأحرف الممتدة هي الأحرف المعتادة التي تُكتب بها هذه الملاحظة. تعديل العلامات هو علامات فوق الحروف مثل العلامات ، والنقاط ، و "الأحرف الكبيرة" ، وما إلى ذلك ، وما إلى ذلك. يتم تقديم معظم الحروف ذات العلامات المتشابهة لجميع الحروف الهجائية على شكل سلسلة من الرموز الموسعة والمعدلة. صحيح ، يتم تقديم الحرفين السيريليين "e" و "y" كأحرف ممتدة منفصلة.

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

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

التطبيق العملي الأكثر شيوعًا لـ Unicode هو UTF-8. يوفر هذا المعيار توافقًا جيدًا مع نصوص ASCII القديمة نظرًا لحقيقة أن أحرف الأبجدية الإنجليزية والأحرف الشائعة الأخرى (أي الأحرف التي تحتوي على رموز ASCII من 0 إلى 127) مكتوبة في بايت واحد. تمت كتابة باقي الأحرف بعدد كبير من البايتات - من اثنين إلى ستة.

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

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

يتم تطوير Unicode والمعايير ذات الصلة من قبل Unicode Consortium. كما هو مكتوب على الموقع الرسمي لهذه المنظمة ، www.unicode.org ، فإن "Unicode Consortium هي منظمة غير ربحية تأسست لتطوير وتطوير معيار Unicode الذي يحدد تمثيل المعلومات النصية في منتجات ومعايير البرامج الحديثة ، و للترويج لنشره واستخدامه على نطاق واسع. الأعضاء الاتحاد عبارة عن عدد كبير من الشركات والمنظمات العاملة في مجالات معالجة المعلومات وصناعة الكمبيوتر. يتم تنفيذ الدعم المالي للائتلاف حصريًا من خلال رسوم العضوية لأعضائه. العضوية في اتحاد Unicode مفتوح لأي منظمة أو فرد يدعم معيار Unicode ويريد المساعدة في نشره وتطبيقه ". انضم إلينا! :)

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

العمل مع الملفات ومظهر التطبيق

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

معيار Unicode ، أو ISO / IEC 10646 ، هو نتيجة التعاون بين المنظمة الدولية للتوحيد القياسي (ISO) وشركات تصنيع أجهزة الكمبيوتر الرائدة و البرمجيات... أدت الأسباب المذكورة في الصفحة السابقة إلى صياغة جديدة للسؤال بشكل أساسي: لماذا نبذل جهودًا لتطوير جداول رموز منفصلة ، إذا كان من الممكن إنشاء جدول واحد لجميع اللغات الوطنية؟ تبدو مثل هذه المهمة مفرطة في الطموح ، ولكن للوهلة الأولى فقط. الحقيقة هي أنه من بين 6700 لغة حية ، هناك حوالي خمسين لغة رسمية للدول ، ويستخدمون حوالي 25 نصًا مختلفًا: الأرقام الخاصة بعصر الكمبيوتر لدينا متوقعة تمامًا.

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

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

أظهر تقدير أولي أن نطاق 16 بت كافٍ لترميز كل هذه البرامج النصية ، أي النطاق من 0000 إلى FFFF. تم تخصيص كتلته الخاصة لكل نص في هذا النطاق ، والذي تم ملؤه تدريجيًا برموز أحرف هذا البرنامج النصي. اليوم ، يمكن اعتبار ترميز جميع النصوص الرسمية الحية مكتملاً.

الآن يمكن لوظيفة إنشاء المجلدات أيضًا إنشاء بنية دليل. تحسينات إضافية عند العمل مع الملفات. مزامنة الدليل لها تحسينان كبيران. في وحدة إعادة التسمية الرئيسية ، تمت إضافة خيارات لحفظ الإعدادات والأدوات لإنشاء ملف الكتابة الفوقية المرئي.

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

سمحت منهجية مطورة جيدًا لتحليل أنظمة الكتابة ووصفها لاتحاد Unicode بالانتقال مؤخرًا إلى ترميز بقية نصوص الأرض ذات الأهمية: هذه هي نصوص اللغات الميتة ، الهيروغليفية الصينية التي تسربت من الاستخدام الحديث ، أبجديات تم إنشاؤها بشكل مصطنع ، إلخ. لتمثيل كل شيء ، لم تعد هذه الثروة من تشفير 16 بت كافية ، واليوم يستخدم Unicode مساحة رمز 21 بت (000000 - 10FFFF) ، والتي تنقسم إلى 16 منطقة تسمى الطائرات. حتى الآن ، تتضمن خطط Unicode المستويات التالية:

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

إنه ترميز شخصية على مستوى عالمي. الغالبية العظمى من الأحرف الخاصة في جميع لغات العالم موجودة بالفعل. نوبات من "التعبيرات العادية" - كثير من الناس خائفون. كل ما عليه فعله هو مشاهدة مقدمته الرسمية. الحرف مزدوج البايت هو رمز متعدد اللغات مزدوج البايت. تستخدم معظم الرموز عند استخدام أجهزة الكمبيوتر حول العالم ، بما في ذلك الرموز التقنية و الرموز الخاصة، يمكن تمثيلها كأحرف Unicode كحرف مزدوج البايت.

    المستوى 0 (الرموز 000000-00FFFF) - BMP ، المستوى الأساسي متعدد اللغات (BMP ، المستوى الأساسي متعدد اللغات) ، يتوافق مع نطاق Unicode الأصلي.

    المستوى 1 (الرموز 010000 - 01FFFF) - DMP ، المستوى التكميلي متعدد اللغات (SMP) ، المخصص للبرامج النصية الميتة.

    المستوى 2 (الرموز 020000 - 02FFFF) - DIP ، طائرة هيروغليفية إضافية (SIP ، المستوى الأيديوغرافي التكميلي) ، مخصص للهيروغليفية التي لم يتم تضمينها في BMP.

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

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

    المستوى 14 (الرموز 0E0000 - 0EFFFF) عبارة عن لوح خشب مضغوط ، مستوى خاص إضافي (SSP ، طائرة تكميلية ذات غرض خاص) ، مخصصة للأحرف ذات الأغراض الخاصة.

    المستوى 15 (الرموز 0F0000 - 0FFFFF) - طائرة للاستخدام الخاص ، مخصصة لرموز الكتابة الاصطناعية.

    المستوى 16 (الرموز 100000-10FFFF) - طائرة للاستخدام الخاص ، مخصصة لرموز الكتابة الاصطناعية.

    لقد تجنبنا بيانات ترميز البيانات منخفضة المستوى حتى الآن ، ولكن فهم القليل عن وحدات البت والبايت سيساعدك على اكتشافها. هذه هي القيمة الوحيدة ، المقيدة باحتمالين ، نكتبها بشكل تقليدي على أنها 0 ، أو أن أجهزة الكمبيوتر تخزن البتات على شكل شحنات كهربائية أو أقطاب مغناطيسية ، أو بطريقة أخرى لا نحتاج إلى إزعاجها. تسلسل ثماني بتات 0-1 يسمى بايت.

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

يرد تفصيل BMP إلى كتل في WDH: معيار Unicode. نلاحظ هنا فقط أن أول 128 رمزًا (00000 - 0007F) تتوافق مع رموز ASCII وترميز الكتلة اللاتينية الأساسية. سيتم وصف تخطيط البرامج النصية لنطاق Unicode بالتفصيل في مقالتي "Unicode والبرامج النصية في العالم". نظرًا لأننا في المستقبل سنهتم فقط برموز BMP ، فأنا أستخدم رموز 16 بت الخاصة بهم من النموذج XXXX (البتات الأكثر أهمية تساوي الصفر ولا يشار إليها).

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

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

وصف عام

يعتمد Unicode على مفهوم الشخصية. الرمز هو مفهوم مجرد موجود في نظام كتابة معين ويتحقق من خلال صوره (حروف الكتابة). هذا يعني أنه يتم إعطاء كل حرف كود فريدوينتمي إلى كتلة Unicode محددة. على سبيل المثال ، هناك حرف حرف A في الأبجدية الإنجليزية والروسية واليونانية. ومع ذلك ، في Unicode يتوافق مع ثلاثة أحرف مختلفة "الحرف اللاتيني الكبير A" (الرمز 0041) ، "الحرف السيريلي الكبير A" (الرمز 0410) و "الحرف الكبير اليوناني ALPHA" (الرمز 0391). إذا طبقنا التحويل الآن إلى حرف صغير على هذه الأحرف ، فسنحصل على التوالي على "الحرف اللاتيني الصغير A" (الرمز 0061 ، grapheme a) ، و "الحرف السيريلي الصغير A" (الرمز 0430 ، grapheme a) و "الحرف الصغير اليوناني ALPHA "(الرمز 03B1 ، حروف الكتابة α) ، أي حروف حروف مختلفة.

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

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

قد يطرح السؤال: ما هو التحويل إلى حرف صغير؟ نأتي هنا إلى النقطة الأكثر إثارة للاهتمام والأكثر أهمية في المعيار. النقطة المهمة هي أن Unicode ليس بالأمر السهل جدول الكود... سمح مفهوم الرمز المجرد لمنشئي Unicode ببناء قاعدة بيانات شخصية يتم فيها وصف كل حرف من خلال رمزه الفريد (مفتاح قاعدة البيانات) والاسم الكامل ومجموعة الخصائص. على سبيل المثال ، يتم وصف رمز برمز 0410 في قاعدة البيانات هذه على النحو التالي:

0410 ؛ حرف رأس المال السيريلي A ؛ لو ؛ 0 ؛ L ؛ ؛ ؛ ؛ ؛ N ؛ ؛ ؛ ؛ 0430 ؛

دعونا فك هذا الإدخال. هذا يعني أنه تم تعيين الرمز 0410 إلى "السيريلية الحرف الكبيرА "(الاسم الكامل للرمز) ، والتي لها الخصائص التالية:

الفئة العامةحرف صغير (Lu = Letter ، كبير)
فئة مختلطة0
اتجاه الإخراجمن اليسار إلى اليمين (L)
تحلل الرمزلا
رقم عشريلا
عددلا
قيمة عدديةلا
رمز المرآةمفقود (N)
الاسم الكامل في Unicode 1.0أيضا
تعليقلا
رسم الخرائط بالأحرف الكبيرةلا
عرض لحرف صغير0430
تعيين حرف العنوانلا

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

باختصار ، يمكننا القول أن معيار Unicode يتكون من ثلاثة أجزاء مترابطة:

    قواعد بيانات الرموز

    قاعدة الحروف الرسومية ، والتي تحدد التمثيل المرئي لهذه الرموز ؛

    مجموعة من الخوارزميات التي تحدد قواعد التعامل مع الرموز.

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

صيغ التحويل

كما رأينا ، كل حرف Unicode له نقطة رمز 21 بت فريدة. ومع ذلك ، من أجل التنفيذ العملي ، فإن ترميز الأحرف هذا غير مريح. الحقيقة هي أن أنظمة التشغيل و بروتوكولات الشبكةتعامل البيانات تقليديًا على أنها تدفقات من البايت. يؤدي هذا إلى مشكلتين على الأقل:

    يختلف ترتيب البايت في الكلمة باختلاف المعالجات. معالجات إنتليقوم DEC و DEC وغيرها بتخزين البايت الأكثر أهمية في البايت الأول من كلمة الآلة ، بينما تقوم معالجات Motorola و Sparc وغيرها بتخزين البايت الأقل أهمية. يُطلق عليهم على التوالي اسم Little-endian و big-endian (هذه المصطلحات مشتقة من "spikes" و "blunts" في Swift ، وتتجادل حول النهاية التي يتم كسر البيض منها).

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

للتغلب على هذه المشكلات ، يشتمل المعيار على ثلاثة تنسيقات تحويل UTF-8 و UTF-16 و UTF-32 ، والتي تحدد قواعد ترميز أحرف Unicode كسلاسل بايت وأزواج كلمات 16 بت وكلمات 32 بت ، على التوالي. يعتمد اختيار التنسيق المراد استخدامه على بنية نظام الحوسبة وتخزين البيانات ومعايير الإرسال. يمكن العثور على وصف موجز لتنسيقات التحويل في WDH: Unicode Standard.

مشاكل التنفيذ

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

    يجب أن تدعم أنظمة التشغيل تنسيقات تحويل Unicode على مستوى الإدخال والتخزين وعرض السلاسل النصية.

    نحتاج إلى برامج تشغيل لوحة مفاتيح ذكية تسمح لنا بإدخال أحرف في أي كتلة Unicode وتمرير رموزها إلى نظام التشغيل.

    يجب أن يدعم محررو النصوص عرض جميع أحرف Unicode وتنفيذ مجموعة مشتركة من عمليات الأحرف عليها.

    يجب أن يتم القيام بنفس الشيء بشكل صحيح بواسطة نظام إدارة قواعد البيانات (DBMS) لحقول النص والمذكرة.

    نظرًا لأن الترميزات الوطنية ستتعايش مع Unicode لفترة طويلة ، فمن الضروري دعم تحويلات النص بينهما.

لسوء الحظ ، علينا أن نعترف أنه في غضون عشر سنوات (ظهر Unicode 1.0 في عام 1991) ، تم إنجاز أقل بكثير في هذا الاتجاه مما نود. حتى Windows ، الذي يحتوي على أكثر دعم متسق لـ Unicode على مستوى النظام ، مليء بالقيود غير المنطقية تمامًا بسبب تطوره التاريخي فقط. الوضع أسوأ على Unix ، حيث تم نقل دعم Unicode من النواة إلى تطبيقات محددة. يمكن القول أن Unicode مدعوم بشكل كبير اليوم في بيئتين: متصفحات الويب وأجهزة Java الافتراضية. هذا ليس مفاجئًا ، حيث تم تصميم كلتا البيئتين في الأصل لتكون مستقلة عن النظام.

يجب أيضًا ملاحظة الصعوبات الموضوعية في دعم Unicode. على سبيل المثال ، سنركز فقط على عرض حروف الكتابة ، والتي تحتاج إلى تثبيت الخطوط المناسبة في النظام. المشكلة هي أن الخط الذي يحتوي على جميع حروف حروف Unicode سيكون له حجم محرج تمامًا. على سبيل المثال ، خط TrueType Arial Unicode MS ، الذي يحتوي على جزء كبير من أحرف Unicode ، "يزن" 24 ميغا بايت. مع امتلاء Unicode بكتل جديدة ، سيقترب حجم هذه الخطوط من 100 ميغا بايت. طريقة للخروج من الموقف هي تحميل رمز Microsoft عند الطلب المقترح ، والمقبول في متصفحهم. متصفح الانترنت... ومع ذلك ، في حين أن المعايير حول قواعد تشكيل خطوط Unicode صامتة.

طرق العمل مع أحرف Unicodeوالتشفيرات الوطنية في أهم البيئات وأنظمة البرمجة سيتم مناقشتها في المقالات التالية.

لا توجد مثل هذه الصفحة

ربما كانت. في يوم ما. ابكر. وإلا فقط في الخطط. لكنها ذهبت الآن.