Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

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 EntradaReferênciaObrigatórioDescrição
sInput
XString, no formato UTF-8 para ser normalizada
sConvStrXXVariável string passada por referência para armazenar o a string normalizada
CONVMODE_FLAG
XFlags para configuração da normalização

O parâmetro CONVMODE_FLAG, pode ser utilizada as seguintes constantes numéricas

ConstanteValor Numérico
NORMALFORM_TONFC0
NORMALFORM_TONFD1
NORMALFORM_TONFKC2
NORMALFORM_TONFKD3

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
  • Sem rótulos