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. Atualmente, é possível utilizar os seguintes encodings com esta classe:
- Big5
- Big5-HKSCS
- CP949
- EUC-JP
- EUC-KR
- GB18030
- HP-ROMAN8
- IBM 850
- IBM 866
- IBM 874
- ISO 2022-JP
- ISO 8859-1 até 10
- ISO 8859-13 até 16
- Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, e Tml
- KOI8-R
- KOI8-U
- Macintosh
- Shift-JIS
- TIS-620
- TSCII
- UTF-8
- Windows-1250 até o 1258
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.
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: