Histórico da Página
...
Atualmente, na normatização da Unicode Consortion, temos 6 4 diferentes tipos de formas normais para a UTF-8 que são: NFD,NFC, NFKC e NFKD.
Sintaxe:
Bloco de código |
---|
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 |
...
Em caso de sucesso, se a string de entrada for válida, o retorno será 0 e caso houver uma string de entrada inválida, o retorno será -1.
Exemplo
Bloco de código |
---|
#define NORMALFORM_TONFC 0 #define NORMALFORM_TONFD 1 #define NORMALFORM_TONFKC 2 #define NORMALFORM_TONFKD 3 Static Function hex2asc(cHexStr) Local cRet := '' Local nI For nI := 1 to len(cHexStr) step 2 cRet += chr(__HEXTODEC(substr(cHexStr,nI,2))) Next Return cRet User Function 9581672356 // 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) |
...
Conout("##### Conversão FALHA") Return -1 |
...
ELSE Conout("##### Conversão OK") Return 0 ENDIF Return |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas