Translate this blog

terça-feira, 11 de junho de 2013

Conversão Decimal para ASCII / Convertion From Decimal to ASCII


 Português  ASCII (acrônimo para American Standard Code for Information Interchange, que em português significa "Código Padrão Americano para o Intercâmbio de Informação", mas comumente utilizamos a sigla em inglês para referencia direta) é uma codificação de caracteres de sete bits baseada no alfabeto inglês. Cada sequencia de códigos na tabela ASCII corresponde a um caractere, comumente representados pelos 8 bits (equivalente a um byte), sendo que o oitavo bit (da direita para a esquerda) serve como um bit de paridade, utilizado para detecção de erro. Os códigos ASCII representam texto em computadores, equipamentos de comunicação, entre outros dispositivos que trabalham com texto. (Por Wikipédia).
Para facilitar a identificação de cada caracter, disponibilizei a tabela de conversão Decimal para ASCII extraída por código ABAP, excedendo os 128 caracteres previstos. Também disponibilizei a tabela com as siglas e descrições de alguns destes caracteres.
Segue o codigo do FORM que utilizo para converter de decimal para ASCII:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
*&----------------------------------------------------------*
*&      Form  zf_ascii_to_char
*&----------------------------------------------------------*
*       text
*----------------------------------------------------------*
*       -->P_NUM     text
*       -->P_CHAR    text
*----------------------------------------------------------*
  FORM zf_ascii_to_char  USING    p_num  TYPE i
                        CHANGING p_char TYPE c.
    DATA: n    TYPE i,
         x(4) TYPE x.
    FIELD-SYMBOLS: <fc>  TYPE c.
   x = p_num.
    ASSIGN x TO <fc> CASTING TYPE c.
   n = STRLEN(<fc>) - 1.
    WRITE <fc>+n(1) TO p_char.
  ENDFORM.                   " zf_ascii_to_char