Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Unterstützung für mehrere Sprachen und Emojis hat zu Unicode-Codierungen geführt, die ein einzelnes angezeigtes Zeichen (ein so genanntes Graphem) mit mehreren Codepunkten darstellen. Für Emojis wie 🌷 und 👍 werden beispielsweise mehrere Zeichen zum Erstellen der Form und zusätzliche Zeichen für visuelle Attribute wie etwa die Hautfarbe verwendet. Ebenso wird das Hindi-Wort अनुच्छेद
mit fünf Buchstaben und drei Verbindungszeichen codiert.
Aufgrund der unterschiedlichen Längen der möglichen mehrsprachigen Codierungen und Emoji-Codierungen geben die Sprachdienstfeatures in der Antwort möglicherweise Offsets zurück.
Versätze in der API-Antwort
Wenn Offsets in der API-Antwort zurückgegeben werden, denken Sie an Folgendes:
- Elemente in der Antwort können spezifisch für den aufgerufenen Endpunkt sein.
- HTTP POST/GET-Nutzlasten werden in UTF-8 codiert. Dies kann die Standardzeichencodierung Ihres clientseitigen Compilers oder Betriebssystems sein oder auch nicht.
- Versätze beziehen sich auf die auf dem Unicode 8.0.0-Standard basierende Graphemanzahl, nicht auf die Zeichenanzahl.
Extrahieren von Teilzeichenfolgen aus Text mit Versätzen
Versätze können Probleme verursachen, wenn zeichenbasierte substring-Methoden verwendet werden, z. B. die .NET-Methode substring(). Eines dieser Probleme ist, dass eine substring-Methode aufgrund eines Versatzes in der Mitte einer Graphemcodierung mit mehreren Zeichen beendet werden kann und nicht an deren Ende.
Verwenden Sie in .NET ggf. die StringInfo-Klasse. Sie ermöglicht es Ihnen, eine Zeichenfolge nicht als einzelne Zeichenobjekte, sondern als eine Reihe von Textelementen zu verarbeiten. Sie können auch nach Graphem-Splitter-Bibliotheken in Ihrer bevorzugten Softwareumgebung suchen.
Die Sprachdienstfeatures geben diese Textelemente ebenfalls der Einfachheit halber zurück.
Endpunkte, die einen Offset zurückgeben, unterstützen den stringIndexType
-Parameter. Mit diesem Parameter werden die offset
- und length
-Attribute in der API-Ausgabe an das angeforderte Zeichenfolgeniterationsschema angepasst. Derzeit werden drei Typen unterstützt:
textElement_v8
(Standardwert): Durchläuft Grapheme gemäß der Definition des Unicode 8.0.0-Standards.unicodeCodePoint
: Durchläuft Unicode-Codepunkte, das Standardschema für Python 3.utf16CodeUnit
: Durchläuft UTF-16-Codeeinheiten, das Standardschema für JavaScript, Java und .NET.
Wenn der angeforderte stringIndexType
der gewünschten Programmierumgebung entspricht, kann die Extraktion von Substrings mithilfe von Substringstandard- oder -slicemethoden erfolgen.