Árvore de páginas

A classe tUnicode, tem o objetivo de realizar conversões em strings UTF-8 para outros formatos de encoding além de realizar normalização delas.

Strings UTF-8 podem ser representadas em várias formas diferentes, chamadas de formas normais. As formas normais são importantes para garantir a comparação e ordenação corretas de strings UTF-8.

Existem três formas normais de strings UTF-8:

  • Forma normalizada NFD (Normal Form Composed): é a forma mais compacta, pois combina todos os caracteres com diacríticos em um único caractere. Por exemplo, a string "café" é representada como um único caractere com código U+00E9 na forma normalizada NFD.
  • Forma normalizada NFC (Normal Form Canonical): é a forma mais comumente usada, pois é a forma de composição de caracteres mais eficaz. É semelhante à forma normalizada NFD, mas os caracteres com diacríticos são representados separadamente. Por exemplo, a string "café" é representada como os caracteres "c", "a", "f", "é" na forma normalizada NFC.
  • Forma normalizada NFKD (Normal Form Decomposed): é a forma mais detalhada, pois descompõe todos os caracteres com diacríticos em seus componentes básicos. Por exemplo, a string "café" é representada como os caracteres "c", "a", "f", "e", "´" na forma normalizada NFKD.
  • Forma normalizada NFKC (Normal Form Canonical Composition) é uma forma de normalização de strings UTF-8 que combina os caracteres com diacríticos em um único caractere, se possível. A forma normal NFKC é semelhante à forma normal NFD, mas ela também elimina as combinações de caracteres compatíveis.

A forma normalizada NFC é geralmente a melhor escolha para comparação e ordenação de strings UTF-8. Isso ocorre porque é a forma mais comumente usada e é a forma de composição de caracteres mais eficaz.

Além disso, a função ConvertEncoding é equivalente as DecodeUTF e EncodeUTF utilizadas originalmente no AdvPL.

Referências

Unicode® Standard Annex #15

Observação

Essa classe é apenas compatível com o uso em TLPP e não disponível para uso em ADVPL.

Métodos da Classe

Atualmente, temos os seguintes métodos disponíveis para realizar normalização de strings UTF-8 de um formato para um outro desejado:

  • Sem rótulos