CÓDIGO BCD, ASCII y EBCDIC

 

Código BCD

 En las primeras épocas del procesamiento de datos el medio principal para el almacenamiento de datos era la tarjeta perforadora y se normalizaron varias claves de tarjetas perforadoras.

Cuando se trasmite una tarjeta es muy conveniente que la maquina transmisora sea poco costosa, en la medida de lo posible, y por lo tanto, se ha usado una clave que es muy parecida a la de la tarjeta. Las claves llamadas decimales en clave binaria se usan para representar con seis bits, o a veces con siete, los datos de la tarjeta.

La tarjeta Hollerith, una norma ampliamente aceptada, usa realmente 12 bits para poner en clave un carácter que podría ponerse en clave con seis. Por lo tanto se condensa la puesta en clave para producir la forma decimal en clave binaria (Binary-Coded-Decimal).

 

Código de carácter BCD de 8 bits.

En la figura pasada se muestra una clave extendida BCD, con ocho bits y espacio de sobra para emplear caracteres especiales. Esta clase se usa para trasmitir los bytes de ocho bits de las computadoras que usan esta clave o para activar un mecanismo impresor que tenga hasta con 256 caracteres gráficos.

En el código BCD, los dígitos decimales (0-9) se representan en código binario mediante el empleo de CUATRO bits (en el BCD de 8 bits estos serían los bits 5, 6, 7 y 8). Las combinaciones de bits válidas son:

Binary Value

Digit

0000

0

0001

1

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

1001

9

Las combinaciones 1010 a 1111 son inválidas y no son empleadas.

El código BCD es la forma más común de representar dígitos decimales en código binario. En caso de transmitir información únicamente numérica, se puede decir que sí la computadora guarda un dígito BCD por byte, el código recibe el nombre de BCD normal. Los bits no usados pueden ser todos 0’s o 1’s.

Si dos dígitos BCD son almacenados por cada byte, el código recibe el nombre de Packed BCD. Esto ocurre en la transmisión de datos donde los números se transmiten a través de un enlace de comunicaciones. El packed BDC reduce el tiempo de transmisión de los números, ya que cada byte de datos transmitido da por resultado la transmisión de dos dígitos BDC.

Ejemplo: Considérese el almacenaje de los dígitos 56 en formato de packed BDC:

 
          7   6   5   4   3   2   1   0     Bit Number
        +---+---+---+---+---+---+---+---+
        | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
        +---+---+---+---+---+---+---+---+
         MSB                         LSB
 

Los primeros 4 bits almacenan el valor 5, mientras que los últimos 4 guardan el valor 6.

 

ASCII

American Standard Code for Information Interchange (Código Estadounidense Estándar para el Intercambio de Información) es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y otras lenguas occidentales. Creado aproximadamente en 1963 por el Comité Estadounidense de Estándares (ASA) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyen las minúsculas y se redefinen algunos códigos de control para formar el código conocido como US-ASCII.

Casi todos los sistemas informáticos de hoy en día utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto.

Define 128 códigos posibles, dividido en 4 grupos de 32 caracteres, (7 bits de información por código), aunque utiliza menos de la mitad, para caracteres de control, alfabéticos (no incluye minúsculas), numéricos y signos de puntuación. Su principal ventaja, aparte de constituir un estándar, consiste en la ordenación alfabética de los códigos.

Normalmente el código ASCII se extiende a 8 bits (1 byte) añadiendo un BIT de control, llamado BIT de paridad.

A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO-8859-1 que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el nuestro.

 

 

ASCII-1967 (US-ASCII)

 

  0 

  1 

  2 

  3 

  4 

  5 

  6 

  7 

  8 

  9 

A

B

C

D

E

F

0

NUL

SOH

STX

ETX

EOT

ENQ

ACK

BEL

BS

HT

LF

VT

FF

CR

SO

SI

1

DLE

DC1

DC2

DC3

DC4

NAK

SYN

ETB

CAN

EM

SUB

ESC

FS

GS

RS

US

2

sp

!

"

#

$

%

&

'

(

)

*

+

,

-

.

/

3

0

1

2

3

4

5

6

7

8

9

:

;

<

=

>

?

4

@

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

5

P

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

^

_

6

`

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

7

p

q

r

s

t

u

v

w

x

y

z

{

|

}

~

DEL

 

Leyenda

Caracteres de Control

Caracteres Alfabéticos

Caracteres de Puntuación

Dígitos

Control de Flujo

Control de Formato

Separadores

 

EBCDIC

EBCDIC = Extended Binary Coded Decimal Interchange Code

EBCDIC es un código binario que representa carácteres alfanumérico, controles y signos de puntuaciónes.
Cada carácter está compuesto por 8
bit = 1 byte, por eso EBCDIC define un total de 256 carácteres.

Existan muchas versiónes ( "codepages" ) de EBCDIC con carácteres diferentes respectivamente suceciónes diferentes de mismos carácteres.
Por ejemplo al menos hay 9 versiónes naciónales de EBCDIC con
Latín 1 carácteres con suceciónes diferentes.

EBCDIC es un producto de IBM para ordenadores centrales.

El siguiente es el código CCSID 500, una variante de EBCDIC. Los caracteres 0x00–0x3F y 0xFF son de control, 0x40 es un espacio, 0x41 es no-saltar página y 0xCA es un guión suave.

 

 

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

40

 

 

 

â

ä

à

á

ã

å

ç

ñ

[

.

<

(

+

!

50

 

&

é

ê

ë

è

í

î

ï

ì

ß

]

$

*

)

;

^

60

 

-

/

Â

Ä

À

Á

Ã

Å

Ç

Ñ

¦

,

%

_

>

?

70

 

ø

É

Ê

Ë

È

Í

Î

Ï

Ì

`

:

#

@

'

=

"

80

 

Ø

a

b

c

d

e

f

g

h

i

«

»

ð

ý

þ

±

90

 

°

j

k

l

m

n

o

p

q

r

ª

º

æ

¸

Æ

¤

A0

 

µ

~

s

t

u

v

w

x

y

z

¡

¿

Ð

Ý

Þ

®

B0

 

¢

£

¥

·

©

§

¼

½

¾

¬

|

¯

¨

´

×

C0

 

{

A

B

C

D

E

F

G

H

I

­

ô

ö

ò

ó

õ

D0

 

}

J

K

L

M

N

O

P

Q

R

¹

û

ü

ù

ú

ÿ

E0

 

\

÷

S

T

U

V

W

X

Y

Z

²

Ô

Ö

Ò

Ó

Õ

F0

 

0

1

2

3

4

5

6

7

8

9

³

Û

Ü

Ù

Ú