Codigos de Texto

Codigo de texto EBCDIC


El EBCDIC (Extended Binary Coded Decimal Interchange Code - Código de intercambio decimal de código binario extendido), es un codigo de texto utilizado principalmente en los sistemas operativos de las computadoras Mainframe y de gama media de IBM. Descendio del codigo utilizado en las tarjetas perforadas y el codigo BCD que era utilizado por la mayoria de los perifericos de IBM entre 1950 y 1960.

Es un código de 8 bits (256 combinaciones) que almacena un carácter alfanumérico o dos dígitos decimales en un byte. EBCDIC y ASCII son los dos códigos de mayor uso para representar datos.


Historia.

El codigo EBCDIC fue ideado entre 1963 y 1964 y fue anunciado junto con el lanzamiento de la linea IBM System/360 de computadoras Mainframe. Es un codigo de 8 bits, que fue desarrollado por separado al codigo ASCII de 7 bits. Fue creado para extender el ya existente codigo BCDIC, que fue ideado para adaptar el codigo de las tarjetas perforadas a un codigo binario de 6 bits.

A pesar de que IBM era un proponente de estandarizar el codigo ASCII, la empresa no tuvo tiempo para preparar perifericos ASCII (como maquinas perforadoras de tarjetas) que enviar con sus computadores System/360, por lo que la empresa decidio utilizer el codigo EBCDIC en su lugar. Los computadores System/360 fueron un rotundo exito, junto con sus clones como el RCA Spectra 70, el ICL System 4 y el Fujitsu FACOM, popularizando así el codigo EBCDIC.

Todos los sistemas operativos de mainframe y de gama media de IBM utilizan EBCDIC principalmente (con tolerancia para ASCII, por ejemplo, ISPF en z/OS puede examinar y editar tanto archivos codificados en EBCDIC como en ASCII). Hay software que puede traducir entre los dos codigos, y los mainframes modernos (como el IBM Z) incluyen instrucciones de procesador, a nivel de hardware, para acelerar la traducción entre conjuntos de caracteres.

Existe un formato de transformación Unicode orientado a EBCDIC llamado UTF-EBCDIC propuesto por el Consorcio Unicode, diseñado para permitir una fácil actualización del software EBCDIC para manejar Unicode, pero que no está pensado para ser utilizado en entornos de intercambio abierto. Incluso en sistemas con amplio soporte de EBCDIC, no ha sido popular. Por ejemplo, z/OS soporta Unicode (prefiriendo específicamente UTF-16), pero z/OS sólo tiene un soporte limitado para UTF-EBCDIC.

No todos los productos de IBM utilizan EBCDIC; IBM AIX, Linux en IBM Z y Linux en Power utilizan ASCII.

Tabla del codigo EBCDIC

Existen cientos de versiones(codepages) del codigo EBCDIC basadas en el codigo EBCDIC original; hay una gran cantidad de variantes del EBCDIC destinadas a ser utilizadas en diferentes partes del mundo, incluyendo páginas de códigos para escrituras no latinas como el chino, el japonés (por ejemplo, EBCDIC 930, JEF y KEIS), el coreano y el griego (EBCDIC 875). También hay un gran número de versiones en las que se intercambian las letras sin motivo aparente.

La siguiente tabla muestra el "subconjunto invariante" de EBCDIC, que son caracteres que deberían tener las mismas asignaciones en todas las codepages de EBCDIC que utilizan el alfabeto latino. (Esto incluye la mayor parte del repertorio invariante de ISO/IEC 646, excepto el signo de exclamación). También muestra (en gris) los signos de puntuación ASCII y EBCDIC que faltan, ubicados donde están en el codigo CCSID 37(una de las variantes del codigo EBCDIC más utilizadas). Las celdas en blanco se rellenan con caracteres específicos de la región en las variantes, pero los caracteres en gris a menudo se intercambian o se sustituyen también.




Clave EBCDIC

Espacio en blanco - 0 1 0 0 0 0 0 0

Letras mayúsculas de la A a la Z: se dividen en tres grupos (A-I), (J-R), (S-Z) y en las primeras cuatro posiciones se identifica el grupo al cual pertenece la letra y en las restantes cuatro posiciones el dígito correspondiente a la posición de la letra en el grupo.

A - 1 1 0 0 0 0 0 1   B - 1 1 0 0 0 0 1 0  C - 1 1 0 0 0 0 1 1   D - 1 1 0 0 0 1 0 0   E - 1 1 0 0 0 1 0 1         

F - 1 1 0 0 0 1 1 0   G - 1 1 0 0 0 1 1 1   H - 1 1 0 0 1 0 0 0   I - 1 1 0 0 1 0 0 1    J - 1 1 0 1 0 0 0 1

K - 1 1 0 1 0 0 1 0   L - 1 1 0 1 0 0 1 1   M - 1 1 0 1 0 1 0 0  N - 1 1 0 1 0 1 0 1  O - 1 1 0 1 0 1 1 0

P - 1 1 0 1 0 1 1 1    Q - 1 1 0 1 1 0 0 0   R - 1 1 0 1 1 0 0 1  S - 1 1 1 0 0 0 1 0   T - 1 1 1 0 0 0 1 1

U - 1 1 1 0 0 1 0 0   V - 1 1 1 0 0 1 0 1   W - 1 1 1 0 0 1 1 0  X - 1 1 1 0 0 1 1 1  Y - 1 1 1 0 1 0 0 0

Z - 1 1 1 0 1 0 0 1

La letra Ñ se representa 0 1 1 0 1 0 0 1

Los dígitos del cero (0) al nueve (9): se identifican con un uno en las primeras cuatro posiciones y en las restantes cuatro posiciones el dígito en binario.

(0) - 1 1 1 1 0 0 0 0  (1) - 1 1 1 1 0 0 0 1  (2) - 1 1 1 1 0 0 1 0  (3) - 1 1 1 1 0 0 1 1   (4) - 1 1 1 1 0 1 0 0

(5) - 1 1 1 1 0 1 0 1  (6) - 1 1 1 1 0 1 1 0  (7) - 1 1 1 1 0 1 1 1  (8) - 1 1 1 1 1 0 0 0    (9) - 1 1 1 1 1 0 0 1




Código de texto BCD

 

¿Qué significa?

Código BCD (Binary-Coded Decimal (BCD) o Decimal codificado). Binario es un estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits

Con esta codificación especial de los dígitos decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que normalmente se incurren con las conversiones de decimal a binario puro y de binario puro a decimal.

La conversión de los números decimales a BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados que con números binarios puros.

Un código es un grupo de símbolos que representan un número. En informática, BCD es un código que se utiliza para representar números decimales en código binario.

En BCD o decimal codificado en binario, cada número decimal (del 0 al 9) es representado por su equivalente

Características

Ponderación

La mayoría de los sistemas de numeración actuales son ponderados, es decir, cada posición de una secuencia de dígitos tiene asociado un peso. El sistema binario es, de hecho, un sistema de numeración posicional ponderado. Sin embargo, algunos códigos binarios, como el código Gray, no son ponderados, es decir, no tienen un peso asociado a cada posición. Otros, como el mismo código binario natural o el BCD natural sí lo son.

Distancia

Es una característica sólo aplicable a las combinaciones binarias. La distancia entre dos combinaciones es el número de bits que cambian de una a otra. Por ejemplo, si se tienen las combinaciones de cuatro bits 0010 y 0111, correspondientes al 2 y al 7 en binario natural, se dirá que la distancia entre ellas es igual a dos ya que de una a otra cambian dos bits.

Además, con el concepto de distancia se puede definir la distancia mínima de un código. Ésta no es más que la distancia menor que haya entre dos de las combinaciones de ese código.

Continuidad

Es una característica de los códigos binarios que cumplen que todas las posibles combinaciones del código son adyacentes, es decir, que de cualquier combinación del código a la siguiente cambia un sólo bit. En este caso se dice que el código es continuo. Cuando la última combinación del código es, a su vez, adyacente a la primera, se trata de un código cíclico.

 

Autocomplementariedad

El código binario es autocomplementario cuando el complemento a nueve del equivalente decimal de cualquier combinación del código puede hallarse invirtiendo los valores de cada uno de los bits (operación lógica unaria de negación) y el resultado sigue siendo una combinación válida en ese código. Esta característica se observa en algunos códigos BCD, como el código Aiken o el código BCD exceso 3. Los códigos autocomplementarios facilitan las operaciones aritméticas.

Aplicación

Electrónica

El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico, especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador).

Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware).

Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito sería mucho más complejo que si se utiliza el BCD. Hay un programa que se llama b1411 que sirve para dividir al sistema binario en dos combinaciones. Una por ejemplo es la de sistemas digitales.te en binario en 4 bits.

Ejemplo: para convertir el número BCD 1100100001.

1. Dividir de 4 bits en 4 bits empezando de la derecha.

11   0010   0001

2. Si el grupo de la izquierda no completa 4 bits agregar los ceros necesarios a la izquierda.

0011   0010   0001

3. Cambiar el código por su equivalente en la tabla.

3   2   1

El número BCD 1100100001 equivale a 321 en decimal





ASCII

El código de texto denominado ASCII, el cual corresponde a sus siglas en ingles American Standard Code for Información Interchange. Dicha frase se la puede traducir de la siguiente manera como Código Estándar Americano para el intercambio de la información. El cual se trata de un patrón de codificación, el cual se emplea en el ámbito de las ciencias informáticas; Es un código de caracteres basado en el alfabeto latino, tal como se utiliza en el alfabeto de ingles moderno. El código ASCII es un código ordenado en una tabla donde cada número o combinación de números corresponde a una letra mayúsculas o minúsculas, número y símbolos de puntuación adaptado al idioma inglés.

El código ASCII fue creado en el año de 1963 a partir de la reformulación de los códigos que se empleaban en la Telemática. Cuatro años después, se añadieron las letras minúsculas y se cambiaron ciertos códigos.

La compañía americana de telecomunicaciones conocida como AT&T, de popularidad internacional, por ese entonces se denominaba Bell, y proveía los servicios de datos que impulsaron el código ASCII. En un principio. Bell tenia pensado utilizar tan solo seis bits, pero tras unirse a la Agencia de Estándares Estadounidenses, cuya sigla era ASA, esto cambio y se agregó el séptimo bit.

A medida que las necesidades de uso del código aumentaban, se crearon versiones extendidas de ASCII para facilitar la incorporación de lenguas distintas al inglés y de descriptores lógicos, matemáticos o científicos. Incluso se popularizó el “arte ASCII” o imágenes generadas mediante computadora el posicionamiento estratégico de cadenas de código en la página, que al verlas de lejos conforman figuras y dibujos.

EJEMPLOS DEL CODIGO ASCII   

Algunos ejemplos de formulación ASCII, para representar los caracteres comunes de este código son los siguientes:

Carácter “A”: 0100 0001                 

Carácter “C”: 0100 0011

Carácter “!”: 0010 0001

Carácter “#”: 0010 0011

Carácter “/”: 0010 1111

Carácter “K”: 0100 1011

Carácter “k”: 0110 1011

Carácter “X”: 0101 1000

Carácter “x”: 0111 1000

Carácter “[”: 0101 1011

Carácter “=”: 0011 1101

Caracter “Z”: 0101 1010

Carácter “z”: 0111 1010

Carácter “:”: 0011 1010

Carácter “,”: 0010 1100

Carácter “.”: 0010 1110

Carácter “0”: 0011 0000

Carácter “6”: 0011 0110

Carácter “9”: 0011 1001

Carácter “+”: 0010 1011

Carácter “-”: 0010 1101  

TABLA DE CODIGO DE TEXTO ASCII





UNICODE

¿QUÉ ES?

Unicode es el estándar de codificación de caracteres universal utilizado para la representación de texto para procesamiento del equipo. Asigna un número único (un punto del código) a cada carácter de los principales sistemas de escritura del mundo. También incluye símbolos técnicos y de puntuación, y otros muchos caracteres utilizados en la escritura de textos.

Unicode, además de ser un mapa de caracteres, incluye algoritmos de ordenación y codificación de textos bidireccionales (por ejemplo en árabe), y especificaciones de normalización de formularios de texto.

DATOS CURIOSOS

Fue creado en 1991 y la creación de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de codificación de caracteres ya existentes, muchos de los cuales estaban muy limitados en tamaño y son incompatibles con entornos plurilingües. Unicode se ha convertido en el más extenso y completo esquema de codificación de caracteres, siendo el dominante en la internacionalización y adaptación local del software informático. El estándar ha sido aceptado en un número considerable de tecnologías recientes, como XML, Java y sistemas operativos modernos.

Diferentes partes de la tabla Unicode incluyen muchos caracteres de diferentes idiomas. Casi todos los sistemas de escritura que utilizan estos días representan. Latín , árabe , cirílico , jeroglíficos, pictográficos. Letras, dígitos, puntuación. También el estándar Unicode cubre muchos guiones muertos (abugidas, silabarios) con el propósito histórico. Muchos otros símbolos, que no pertenecen a un sistema de escritura específico, también están codificados. Son flechas, estrellas, caracteres de control, etc. Toda la humanidad necesita producir texto de alta calidad.

Unicode permite 17 planos, cada uno de los 65.536 caracteres posibles (o 'puntos de código'). Esto da un total de 1,114,112 caracteres posibles. En la actualidad, solo se ha asignado alrededor del 10% de este espacio.

TIPOS DE CARACTERES

-       Caracteres gráficos: letras, signos diacríticos, cifras, caracteres de puntuación, símbolos y espacios.

-       Caracteres de formato: caracteres invisibles que afectan al proceso del texto próximo. Ejemplos: U+2028 salto de línea, U+2029 salto de párrafo, U+00A0 espacio duro, etc.

-       Códigos de control: 65 códigos definidos por compatibilidad con ISO/IEC 2022. Son los caracteres entre los rangos [U+0000,U+001F], U+007F y [U+0080..U+009F]. Interpretarlos es responsabilidad de protocolos superiores.

-       Caracteres privados: reservados para el uso fuera del estándar por fabricantes de software.


TABLA UNICODE 


Comentarios

Entradas populares de este blog

Operaciones y conversiones con numeros binarios, octales y hexadecimales