RAW_TO_HEXASCII

Converte um buffer de bytes brutos em sua representação textual hexadecimal ASCII, gerando dois caracteres (‘0’..’9’, ‘A’..’F’) por byte de origem, e retorna -1 quando a string de destino não comporta o resultado. É uma função (sem estado; não requer instância) de uso interno da biblioteca.

Biblioteca: HI_STD · Namespace: HILS · Tipo: função

Função

            RAW_TO_HEXASCII
           +----------------+
  UINT ----|LEN             |
           |                |
   ANY ----|BUF             |
           |                |
STRING ----|STR ----------- |----
           +----------------+

A função percorre LEN bytes do vetor BUF e escreve em STR a representação hexadecimal ASCII de cada byte (dois caracteres por byte, sem separadores). Como cada byte de origem ocupa dois caracteres no destino, STR deve comportar pelo menos 2 * LEN caracteres; caso contrário nenhuma conversão é efetuada e a função retorna -1. É a operação inversa de HEXASCII_TO_RAW.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

LEN

IN

UINT

—

bytes

Número de bytes de BUF a serem convertidos.

BUF

IN

ANY

—

—

Vetor com os bytes brutos a serem convertidos.

STR

IN_OUT

STRING

—

—

String que recebe a representação hexadecimal ASCII de BUF.

Retorno / Saídas

Retorna um INT:

  • SUCCESS (0) — conversão realizada com sucesso.

  • -1 — a string de destino não comporta 2 * LEN caracteres (nenhuma conversão efetuada).

Pré-condições

  • A string STR deve ter capacidade para pelo menos 2 * LEN caracteres.

Observações

  • Função de uso interno da biblioteca HI_STD (bloco privado).

  • Cada byte é codificado em dois caracteres hexadecimais, sem separadores entre eles; a operação inversa é feita por HEXASCII_TO_RAW.

Ver também

BUF_TO_STRING, GET_HEXASC_STR