مخطط الضغط القياسي لـ Unicode
يمكنك المساعدة في توسيع هذه المقالة باستخدام النص المترجم من المقالة المقابلة باللغة الألمانية . (أغسطس 2013) انقر فوق [إظهار] للحصول على تعليمات الترجمة المهمة.
|
مخطط الضغط القياسي لليونيكود (SCSU) [1] هو معيار فني لليونيكود لتقليل عدد البايتات اللازمة لتمثيل نص اليونيكود، وخاصة إذا كان هذا النص يستخدم في الغالب أحرفًا من كتلة أحرف واحدة أو عدد صغير من كتل الأحرف لكل لغة. وهو يفعل ذلك من خلال تعيين القيم في النطاق 128–255 بشكل ديناميكي إلى الإزاحات داخل كتل معينة من 128 حرفًا. تعني الظروف الأولية للمشفر أنه يمكن التعامل مع السلاسل الموجودة في ASCII و ISO-8859-1 والتي لا تحتوي على أكواد تحكم C0 بخلاف NULL TAB CR وLF كسلاسل SCSU. نظرًا لأن معظم الأبجديات توجد في كتل من نقاط ترميز Unicode المتجاورة، فإن النصوص التي تستخدم أبجديات صغيرة وعلامات ترقيم ASCII أو علامات ترقيم تناسب نافذة الأبجدية الرئيسية يمكن ترميزها ببايت واحد لكل حرف (بالإضافة إلى تكلفة الإعداد، والتي غالبًا ما تكون بايتًا واحدًا فقط للغات الشائعة)، ويمكن ترميز معظم علامات الترقيم الأخرى ببايتين لكل رمز من خلال التحولات غير القابلة للقفل. يمكن لـ SCSU أيضًا التبديل إلى UTF-16 داخليًا للتعامل مع اللغات غير الأبجدية.
التاريخ والاستخدام
طورت رويترز في الأصل SCSU، ثم تحت اسم RCSU لـ Reuters Compression Scheme for Unicode. [2] [3] [4] [5]
في البداية اعتبره اتحاد يونيكود ترميزًا للأحرف، [6] ولكن في عام 1999 غير رأيه: على الرغم من أنه لا يزال يُعتبر ترميزًا لنقل القواعد النحوية، إلا أنه لم يعد يُعتبر ترميزًا للأحرف لفترة من الوقت لأن الضواغط المختلفة قد تنتج مخرجات مختلفة لنفس النص. [7] ومع ذلك، في عام 2004 تم التراجع عن هذا القرار والآن يُعتبر SCSU مخطط ترميز أحرف مضغوط ، على عكس مخطط ترميز الأحرف البسيط أو المركب. [8] [9]
كتب رومان سيزيبورا (من GNU Unifont ) برنامج فك ضغط. [10] تم العثور على برنامج فك الضغط الذي ساهم به IBM في International Components for Unicode ، إلى جانب برنامج ضغط مكتوب بلغة Java. [11] تتوفر برامج ترميز مرجعية أبسط كمرفقات لـ TR6.
يستخدم نظام التشغيل Symbian OS ، وهو نظام تشغيل للهواتف المحمولة والأجهزة المحمولة الأخرى، SCSU لتسلسل السلاسل.
يستخدم SQL Server 2008 R2 SCSU لضغط قيم Unicode (وهذا يعني من السلاسل في ترميز UCS-2 ) المخزنة في أعمدة nchar(n) و nvarchar(n) ، مما يحقق توفيرًا في المساحة بين 15% و50% (بينما يتمتع UTF-8 فقط بهذا التخفيض بنسبة 50% لمجموعة ASCII الفرعية من Unicode)، اعتمادًا على لغة البيانات. [12]
المخطط
تصف الأقسام التالية بإيجاز تشريح تيار SCSU المضغوط. للحصول على وصف كامل (يطابق وصف جهاز فك الضغط)، راجع مستند UTS #6.
أوضاع الترميز
يبدأ تشغيل SCSU في وضع البايت الواحد، والذي يستخدم ترميز Windows المضغوط. توجد أوامر للتبديل إلى وضع "Unicode" UTF-16BE، والتبديل إلى وضع البايت الواحد من هذا الوضع.
ترميز النافذة
يكمن جوهر SCSU في النوافذ التي يتم فيها تعريف معاني البايتات 0x80-0xff. هناك ثمانية نوافذ ثابتة للنصوص البسيطة وعلامات الترقيم، وستة أنواع من النوافذ الديناميكية (بالإضافة إلى نوافذ "نصف كتلة Unicode" والنوافذ المخصصة للطائرات التكميلية) للنصوص التي تستخدم المزيد من الأحرف.
يتم تحديد النوافذ البسيطة والديناميكية باستخدام أحرف أوامر خاصة. بالنسبة للأحرف الفردية التي لا تتناسب مع الكتلة الحالية، يتم توفير أحرف أوامر للاقتباس.
مقارنة مع مخططات ضغط النص العادي للأغراض العامة
نظرًا لأن نص UTF-16 أو UTF-8 قد يشغل مساحة أكبر من نظيره في ترميزات ما قبل Unicode، فقد يرغب المرء في استخدام الضغط مثل SCSU للتخفيف من هذه المشكلة. [13] بالمقارنة مع الضواغط العامة، ليس من المفيد بالضرورة استخدام SCSU. [5] أيضًا، بينما يمكن استخدامه كترميز نصي، بسبب الطبيعة المتعلقة بحالة الخوارزمية، فقد تنشأ صعوبات عند استخدامه كتمثيل نصي داخلي حيث تصبح العمليات النصية الأساسية غير تافهة.
إذا تم التعامل مع SCSU على أنها خوارزمية ضغط بحتة، فإنها تكون أدنى من معظم الخوارزميات العامة المستخدمة بشكل شائع للنصوص التي يزيد حجمها عن بضعة كيلوبايت.
تتمتع SCSU بميزة تتمثل في قدرتها على ضغط النصوص التي لا يزيد طولها عن بضعة أحرف، في حين تحتاج معظم الضواغط ذات الحجم الكامل إلى مئات البايتات من البيانات لتحقيق التعادل مع تكاليفها العامة. في نظام التشغيل Symbian ، تُستخدم SCSU حتى في عمليات الحافظة، مثل قص ونسخ ولصق سلاسل نصية صغيرة.
في HTML
إن دعم SCSU في مستندات HTML محظور بموجب معايير HTML الخاصة بـ W3C [14] [15] و WHATWG [16] لأن HTML لم يتم تصميمه مع مراعاة الترميزات غير المتوافقة مع ASCII. في الماضي، تم إثبات وجود ثغرات في برمجة النصوص عبر المواقع بسبب سوء تعامل المتصفحات مع مثل هذه الترميزات. [17]
انظر أيضا
- الضغط الثنائي المنظم لـ Unicode (BOCU-1)
- المكونات الدولية لـ Unicode مكتبة يمكنها التحويل بين SCSU وترميزات Unicode الأخرى
مراجع
- ^ "UTS #6: مخطط الضغط لـ Unicode". 2005-05-06 . تم الاسترجاع في 2008-06-13 .
يحدد SCSU ترميزًا مضغوطًا، وهو أمر مفيد في بعض الأحيان. ومع ذلك، يتم تخزين نص Unicode ونقله بشكل أكثر شيوعًا في UTF-8 وهو أقل ضغطًا (باستثناء ASCII )، وأبسط كثيرًا، ولا يمثل أي مشكلات أمنية. بالنسبة للنصوص الأطول، يكون الضغط العام فعالًا وشائعًا.
- ^ "المؤتمر الدولي التاسع لليونيكود - الجمعة - المسار ب".
- ^ "المؤتمر الدولي العاشر لليونيكود - برنامج المؤتمر".
- ^ "نظام الضغط لـ Unicode".
- ^ "دراسة استقصائية حول ضغط Unicode" (PDF) .
- ^ "UTR#17: نموذج ترميز الأحرف".
- ^ https://unicode.org/reports/tr17/tr17-3.html#ترميز النقل النحوي
- ^ "UTR#17: نموذج ترميز الأحرف". 2004-07-14.
- ^ "UTR#17: Unicode Character Encoding Model". unicode.org . تم الاسترجاع في 2023-11-14 .
- ^ https://czyborra.com/scsu/scsu.c [ ملف نصي عادي برابط URL ]
- ^ "المكونات الدولية لـ Unicode". GitHub . 22 أكتوبر 2021.
- ^ "تطبيق ضغط Unicode (كتب SQL Server 2008 R2 عبر الإنترنت)" . تم الاسترجاع في 2008-08-18 .
- ^ https://unicode.org/versions/Unicode3.0.0/ch05.pdf [ عنوان URL العاري PDF ]
- ^ "8.2.2.3. ترميزات الأحرف". HTML 5.1 Standard . W3C.
- ^ "8.2.2.3. ترميزات الأحرف". HTML 5 Standard . W3C.
- ^ "12.2.3.3 ترميزات الأحرف". HTML Living Standard . WHATWG.
- ^ "<meta> - HTML". MDN Web Docs . Mozilla. مؤرشف من الأصل في 3 أكتوبر 2018.
