Este método realiza a normalização de uma string UTF-8 para uma outra Forma Normal selecionada.
Atualmente, na normatização da Unicode Consortion, temos 6 diferentes tipos de formas normais para a UTF-8 que são: NFD,NFC, NFKC e NFKD.
Sintaxe:
oUni1 := tUnicode():New()
oUni1:Normalize( <sInput>, <sConvStr>, <CONVMODE_FLAG> )
A entrada desta função aceita a seguinte parametrização:
Parâmetro de Entrada | Referência | Obrigatório | Descrição |
---|---|---|---|
sInput | X | String, no formato UTF-8 para ser normalizada | |
sConvStr | X | X | Variável string passada por referência para armazenar o a string normalizada |
CONVMODE_FLAG | X | Flags para configuração da normalização |
O parâmetro CONVMODE_FLAG, pode ser utilizada as seguintes constantes numéricas
Constante | Valor Numérico |
---|---|
NORMALFORM_TONFC | 0 |
NORMALFORM_TONFD | 1 |
NORMALFORM_TONFKC | 2 |
NORMALFORM_TONFKD | 3 |
Exemplo
#define NORMALFORM_TONFC 0
#define NORMALFORM_TONFD 1
#define NORMALFORM_TONFKC 2
#define NORMALFORM_TONFKD 3
// String: "Soluções e ações" na NFD
Local sInput := "536F6C7563CCA76FCC8365732065204163CCA76FCC83657300"
// String: "Soluções e ações" na NFC
Local sExpected := "536F6C75C3A7C3B5657320652041C3A7C3B5657300"
Local sConvStr := ''
// Conversões para o formato
sInput := hex2asc(sInput)
sExpected := hex2asc(sExpected)
// Conversão da forma normal do UTF-8
oUni1 := tUnicode():New()
oUni1:Normalize( sInput, sConvStr, NORMALFORM_TONFC )
// Compara para verificar se está de acordo com o esperado
IF (sConvStr <> sExpected)
Return -1
ELSE
Return 0
ENDIF
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas