Megosztás a következőn keresztül:


Többnyelvű és emojik támogatása a Nyelvi szolgáltatás funkcióiban

A többnyelvű és emojis támogatás olyan Unicode-kódolásokhoz vezetett, amelyek egynél több kódpontot használnak egyetlen megjelenített karakter, az úgynevezett grapheme ábrázolásához. Az emojik 🌷 👍 például több karaktert is használhatnak az alakzat megírásához a vizuális attribútumokhoz, például a bőrszínhez. Hasonlóképpen, a hindi szó अनुच्छेद öt betűként és három egyesítési jelként van kódolva.

A lehetséges többnyelvű és emojikódolások eltérő hossza miatt a Nyelvi szolgáltatás funkciói eltolódásokat adhatnak vissza a válaszban.

Eltolások az API-válaszban

Amikor eltolásokat ad vissza az API-válasz, ne feledje:

  • A válasz elemei a meghívott végpontra jellemzőek lehetnek.
  • A HTTP POST/GET hasznos adatok UTF-8-ban vannak kódolva, ami lehet, hogy nem az ügyféloldali fordító vagy az operációs rendszer alapértelmezett karakterkódolása.
  • Az eltolások a Unicode 8.0.0 szabványon alapuló gráfszámokat jelölik, nem a karakterszámokat.

Részsztringek kinyerése szövegből eltolásokkal

Az eltolások problémákat okozhatnak a karakteralapú részsztringmetódusok használatakor, például a .NET substring() metódus használatakor. Az egyik probléma az, hogy egy eltolás miatt egy sztringmetódus a vége helyett egy többkarakteres grapheme-kódolás közepén végződhet.

A .NET-ben fontolja meg a StringInfo osztály használatát, amely lehetővé teszi, hogy a sztringeket szöveges elemek sorozataként használja az egyes karakterobjektumok helyett. Az előnyben részesített szoftverkörnyezetben grapheme splitter kódtárakat is kereshet.

A Nyelvi szolgáltatás funkciói ezeket a szöveges elemeket is visszaadják a kényelem érdekében.

Az eltolást visszaküldött végpontok támogatják a paramétert stringIndexType . Ez a paraméter az offset API-kimenet és length attribútumait a kért sztring iterációs sémának megfelelően módosítja. Jelenleg három típust támogatunk:

Ha a stringIndexType kért egyezik a választott programozási környezettel, a sztringek kinyerése standard sztring- vagy szeletelési módszerekkel végezhető el.

Lásd még