Converte uma string de origem em CP1252 ( Windows 1252 code-page ) para a codificação UTF-16 ( 16-bit Unicode Transformation Format ).
Sintaxe
EncodeUtf16( < cText >, [ nEndian ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cText | caractere | Indica a string que será convertida para o formato UTF-16. A string usada como parâmetro deve atender à codificação CP1252. | X | |
nEndian | numérico | Indica o endianess do texto de saida, podendo ser: 1 - Big-Endian (padrão) e 2 - Little-Endian. |
Retorno
Nome | Tipo | Descrição |
---|---|---|
cRet | caractere | Retorna uma nova string no formato UTF-16. |
Observações
- Existem determinados códigos na tabela ASCII que não fazem parte da tabela CP1252, segue abaixo :
ASCII 129
ASCII 141
ASCII 143
ASCII 144
ASCII 157 - Caso a função EncodeUTF16() seja chamada onde o parâmetro contém qualquer um destes caracteres para conversão, será registrado no log de console do TOTVSAppServer a mensagem "*** Warning - Invalid conversion to utf-16", e a função retornará NIL ( Nulo ), pois nenhum destes códigos ASCII faz parte da tabela de codificação CP1252. Em sistemas legados do Microsoft DOS, que utilizavam a codificação CP437 e/ou CP850, estes códigos representavam as letras "ü", "ì","Å","É" e "¥", respectivamente.
- A tabela de codificação CP1252 contempla a representação gráfica dos caracteres da lista acima, porém usando um outros códigos ASCII : A letra ü ( u minísculo com trema ) é representada pelo código ASCII 252, ì ( i minúsculo com crase ) é representado por ASCII 236, Å ( A maiúsculo com anel ) é representado por ASCII 197, É ( E maiúsculo com acento agudo ) é representado por ASCII 201, e o simbolo Yen é representado por ASCII 165.
- Estes caracteres podem ser encontrados em tabelas de dados, onde os dados são provedientes de sistemas legados, ou importados de arquivos texto ASCII, que representam os dados utilizando uma página de código do DOS ( CP437 e/ou CP850 ).
Exemplos
Exemplo 1
#define CRLF Chr(13) + Chr(10) //+----------------------------------------------------------------------------+ //|Exemplo de uso da função EncodeUTF16 e DecodeUTF16 | //+----------------------------------------------------------------------------+ User Function Exemplo4() Local cTexto := "" Local cEncodeUTF16 := "" Local cDecodeUTF16 := "" Local cMensagem := "" cTexto := "à noite, vovô kowalsky vê o ímã cair no pé do pingüim" cTexto += "queixoso e vovó põe açúcar no chá de tâmaras do jabuti feliz." cEncodeUTF16 := EncodeUTF16(cTexto) cDecodeUTF16 := DecodeUTF16(cEncodeUTF16) cMensagem := "Pangrama origem: [" + cTexto + "]" cMensagem1 := "Texto -> UTF16: [" + cEncodeUTF16 + "]" cMensagem2 := "UTF16 -> Texto: [" + cDecodeUTF16 + "]" MsgInfo(cMensagem, "Exemplo") MsgInfo(cMensagem1, "Exemplo") MsgInfo(cMensagem2, "Exemplo") Return
Abrangência
Microsiga Protheus 8.11 , Protheus 10, Protheus 11
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas