Suporte multilinngue e emoji nas funcionalidades do Serviço de idiomas

O suporte multilingue e emoji levou a codificações Unicode que utilizam mais do que um ponto de código para representar um único caráter apresentado, denominado grafo. Por exemplo, emojis como 🌷 e 👍 podem utilizar vários carateres para compor a forma com carateres adicionais para atributos visuais, como o tom de pele. Da mesma forma, a palavra अनुच्छेद hindi é codificada como cinco letras e três marcas de combinação.

Devido aos diferentes comprimentos de possíveis codificações multilingues e emojis, as funcionalidades do Serviço de idiomas podem devolver desvios na resposta.

Desvios na resposta da API

Sempre que forem devolvidos desvios à resposta da API, lembre-se:

  • Os elementos na resposta podem ser específicos do ponto final que foi chamado.
  • Os payloads HTTP POST/GET estão codificados em UTF-8, que pode ou não ser a codificação de carateres predefinida no seu compilador ou sistema operativo do lado do cliente.
  • Os desvios referem-se a contagens de grafos com base no padrão Unicode 8.0.0 , não contagens de carateres.

Extrair subcadeias do texto com desvios

Os desvios podem causar problemas ao utilizar métodos de subcadeia baseados em carateres, por exemplo, o método .NET substring( ). Um problema é que um desvio pode fazer com que um método de subcadeia termine no meio de uma codificação de grafo com vários carateres em vez do fim.

No .NET, considere utilizar a classe StringInfo , que lhe permite trabalhar com uma cadeia como uma série de elementos textuais, em vez de objetos de carateres individuais. Também pode procurar bibliotecas de divisor de grafos no seu ambiente de software preferido.

As funcionalidades do serviço Idioma também devolvem estes elementos textuais, por conveniência.

Os pontos finais que devolvem um desvio suportarão o stringIndexType parâmetro . Este parâmetro ajusta os offset atributos e length na saída da API para corresponder ao esquema de iteração de cadeia pedido. Atualmente, suportamos três tipos:

Se o stringIndexType pedido corresponder ao ambiente de programação escolhido, a extração de subcadeia pode ser efetuada através de subcadeia padrão ou métodos de segmentação de dados.

Ver também