دعم متعدد اللغات والرموز التعبيرية في ميزات خدمة اللغة

أدى دعم اللغات المتعددة ورموز المشاعر إلى ترميزات Unicode التي تستخدم أكثر من نقطة تعليمة برمجيةواحدة من أجل تمثيل حرف واحد معروض، يسمى الرسم البياني. على سبيل المثال، رموز المشاعر مثل 🌷 و👍 من الممكن أن تستخدم عدة أحرف لإنشاء الشكل بأحرف إضافية للسمات المرئية، مثل لون البشرة. بالمثل، يتم ترميز الكلمة अनुच्छेद الهندية على أنها خمسة أحرف وثلاثة علامات جمع.

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

إزاحات في استجابة API

عندما ترجع الإزاحات استجابة API، تذكر:

  • من الممكن أن تكون العناصر في الاستجابة خاصة بنقطة النهاية التي تم استدعاؤها.
  • يتم ترميز البيانات الأساسية HTTP POST/GET فيUTF-8، والتي قد تكون أو لا تكون ترميز الحرف الافتراضي على المحول البرمجي من جانب العميل أو نظام التشغيل.
  • تشير الإزاحات لعدد الرسوم البيانية استنادًا إلى معيارUnicode 8.0.0، وليس عدد الأحرف.

استخرج السلاسل الفرعية من النص مع الإزاحات

من الممكن أن تتسبب الإزاحات في حدوث مشاكل عند استخدام أساليب السلسلة الفرعية المستندة إلى الأحرف، على سبيل المثال أسلوب .NETsubstring(). تتمثل إحدى المشكلات في أن الإزاحة قد تتسبب في إنهاء طريقة السلسلة الفرعية في منتصف ترميز متعدد الأحرف بدلًا من النهاية.

في .NET، ولي اهتمامك نحو استخدام فئة StringInfo، والتي تمكنك من العمل مع سلسلة كسلسلة من العناصر النصية، بدلًا من عناصر الأحرف الفردية. يمكنك أيضًا البحث عن مكتبة التعليمات البرمجية لتقسيم حروف الكتابة في بيئة البرامج المفضلة لديك.

تقوم ميزات خدمة اللغة بإرجاع هذه العناصر النصية أيضًا، من أجل الراحة.

ستدعم نقاط النهاية التي تقوم بإرجاع إزاحة المعلمة stringIndexType. تضبط هذه المعلمة السمتين offset وlengthفي إخراج واجهة برمجة التطبيقات لمطابقة نظام تكرار السلسلة المطلوب. حاليًا، ندعم ثلاثة أنواع:

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

راجع أيضًا