Page tree
Skip to end of metadata
Go to start of metadata

Converte uma string UTF-8 (8-bit Unicode Transformation Format) para um buffer com encoding especificado em cEncoding.

Sintaxe

DecodeUtf8( < cText >, < cEncoding > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cText

caractere

Indica a string UTF-8 que será convertida para o formato especificado por cEncoding.

X


cEncodingcaractereIndica qual o encoding (code-page) do buffer de retorno. O valor padrão para o parâmetro é "cp1252".

Retorno

Nome

Tipo

Descrição

cRet

caractere

Retorna uma nova string no formato CP1252.

Observações

  • Os valores possíveis para o parâmetro encoding são aqueles utilizados pela biblioteca iconv. Pode-se visualizar o conjunto de valores a partir do executável binário gerado pela biblioteca iconv pelo comando: iconv -l. Alguns dos valores possíveis são "cp1252", "cp1251", "iso8859-1".

  • A partir da build 7.00.050331a, essa função está disponível para utilização, em ambiente Linux, com caracteres acima de ASCII 127.

Exemplos

Exemplo 1
#define CRLF Chr(13) + Chr(10)

User Function Exemplo()

  Local cTexto := ""
  Local cEncodeUTF8 := ""
  Local cDecodeUTF8 := ""
  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."
  cEncodeUTF8 := EncodeUTF8(cTexto, "cp1252")
  cDecodeUTF8 := DecodeUTF8(cEncodeUTF8, "cp1252")
  cMensagem := "Pangrama origem: [" + cTexto + "]"
  cMensagem += CRLF + "Texto -> UTF8: [" + cEncodeUTF8 + "]"
  cMensagem += CRLF + "UTF8 -> Texto: [" + cDecodeUTF8 + "]"
  MsgInfo(cMensagem, "Exemplo")
   
  // Brasil em Russo
  cTexto := chr(193)+chr(240)+chr(224)+chr(231)+chr(232)+chr(235)+chr(201)+chr(235)+chr(255)
  cEncodeUTF8 := EncodeUTF8(cTexto, "cp1251") 
  cDecodeUTF8 := DecodeUTF8(cEncodeUTF8, "cp1251")
  cMensagem := "Pangrama origem: [" + cTexto + "]"
  cMensagem += CRLF + "Texto -> UTF8: [" + cEncodeUTF8 + "]"
  cMensagem += CRLF + "UTF8 -> Texto: [" + cDecodeUTF8 + "]"
  MsgInfo(cMensagem, "Exemplo")

Return

Veja também

  • No labels