jueves, 3 de octubre de 2019

Código ASCII




En la programación hay muchos desarrollos que necesitaremos saber que es el código ASCII, porque cuando tenemos que generar ciertos archivos que enviamos de un sistema a otro, o que nos piden en ciertos desarrollos de software debemos cumplir ciertas reglas por ejemplo un layout para alta de usuarios donde debamos ingresar nombres con Ñ, como Ibañez, direcciones donde debamos ingresar Sopeña, España o acentos, no todos los sistemas nos aceptan estos tipos de datos, por lo que necesitamos hacer un proceso de conversión o de eliminación de esos caracteres en nuestra información a enviar.



Para ello hay un standar que se definió para identificar cada carácter con un número, de manera general eso es el código ASCII.



Ahora de manera oficial que es:


American Standard Code for Information Interchange, Los códigos ASCII representan texto en las computadoras fue hecho por Internet Assigned Numbers Authority . El primer uso comercial del código fué en Telegrafos, La primera definición de este standar fué en 1963 y la ultima actualización en 1986

                        Información de (Wikipedia)

Otros ejemplos de la tabla ASCII


WebDesing Grup  con ISO 8859:
http://www.htmlhelp.com/reference/charset/iso192-223.html,

D la UNAM:
http://informatica.dgenp.unam.mx/recomendaciones/codigo-ascii


Les comparto varias opciones, porque cada quien le entiende a una tabla diferente aunque es la misma información. 


Para poder utilizar el código ASCII


Esos símbolos de la tabla ASCII pueden generarlos con su teclado utilizando la tecla ALT + Numero de la tabla por ejemplo:


  • ALT + 64 = @ 
  • ALT + 164 = ñ 
Para mas ejemplo les comparó la siguiente Liga

https://support.office.com/es-es/article/insertar-s%C3%ADmbolos-y-caracteres-ascii-o-unicode-basados-en-el-alfabeto-latino-d13f58d3-7bcb-44a7-a4d5-972ee12e50e0

O también en el mapa de Caracteres de Windows, pueden ver el codigó ASCII

Un ejemplo en un programa Progress 4gl:



lvc-name = REPLACE(lvc-name,CHR(209,SESSION:CPINTERNAL,"ISO8859-1"),"N").
lvc-name = REPLACE(lvc-name,CHR(193,SESSION:CPINTERNAL,"ISO8859-1")
                     ,"A").
lvc-name = REPLACE(lvc-name,CHR(201,SESSION:CPINTERNAL,"ISO8859-1")
                    ,"E").

Aquí tenemos 2 funciones muy importantes

REPLACE: esta instrucción lo que nos permite hacer es cambiar un carácter o grupo de letras por otro(s). Tiene 3 parámetros

  • La variable en donde se va a buscar
  • El campo a buscar
  • El valor por el que va a cambiar


CHR: esta instrucción obtiene el código obtiene el carácter que corresponde a la tabla ASCCI, tiene solo un parámetro que es el código correspondiente a la tabla


Como se ve el programa



DEF VAR lvc-name AS CHAR Initial ""   .                                       
DEF VAR lvc-name2 AS CHAR INITIAL "".                                         
lvc-name = "M" + CHR(233) + "xico" .                                         
DISPLAY "Antes" lvc-name FORMAT "X(10)" SKIP.                                 
lvc-name2 =REPLACE(lvc-name,CHR(130),"e").                                   
lvc-name2 = REPLACE(lvc-name,CHR(233,SESSION:CPINTERNAL,"ISO8859-1"),"e").   
lvc-name2 = REPLACE(lvc-name,CHR(201,SESSION:CPINTERNAL,"ISO8859-1"),"e").   
DISPLAY "Desp" lvc-name2   FORMAT "X(30)" SKIP.                               

                                                 

Como se ve la ejecución






Para ver mas detalle de esta función les comparto la liga de la documentación de Progress


Este tipo de instrucciones no solo aplica a Progress, tambíen estan en C#, C++, Python por ejemplo en este ultimo hay librerías que hacen conversión a códigos o a unicode o UTF-8 como por ejemplo BeutifulSoup


Ejemplo en Visual Basic

En Visual Basic, que es el lenguaje de las Macros de Excel, tenemos las instrucciones 
Chr(charcode
ChrB(charcode)
ChrW(charcode)


Mgsbox(Chr(65))

Que cumple el mismo objetivo que la función de Progress que es obtener el texto del código ASCII


Ejemplo en C Sharp o C#


string value = "Ñ";

// Convert the string into a byte[].

byte[] asciiBytes = Encoding.ASCII.GetBytes(value);
foreach(byte b in ASCIIValues) {
    Console.WriteLine(b);
}

Espero que este post les haya gustado y sobretodo les sea de utilidad al momento de hacer sus proyectos, principalmente tendrán que utilizarlo para generar layouts que envíen a otros sistemas.

Saludos amigos programadores, dejen sus comentarios o dudas y compartanos. 

No hay comentarios.:

Publicar un comentario

Entrada destacada

Como Programar HTML,Como crear página WEB, HTML para principiantes

Hola programadores Esta semana voy a escribir acerca de como programar con HTML (HyperText Markup Language) , el cual es un lenguaje ...