Bienvenidos sean a este post, hoy veremos una pequeña introduccion sobre caracteres.
Cuando hablamos sobre los tipos de datos en este post dijimos que las cadenas eran controladas por char, array de caracteres, es decir un conjunto de caracteres, el cual esta relacionado con el comunmente llamado codigo ASCII y este es el encargado no solo de mostrar los elementos en pantalla sino tambien de controlarlos, esto ultimo se denominan caracteres de control y nos permitiran no solo comunicarse entre distintos dispositivos, sino tambien como fluira la comunicacion entre ellos, asi como la ubicacion en pantalla y su espaciado, a continuacion les dejo una serie de caracteres encargados de controlar la distribucion de los otros caracteres:
- Horizontal Tab (HT), mueve el caracter una X cantidad de espacios horizontalmente
- Vertical Tab (VT), idem al anterior pero de forma vertical
- Carriage Return (CR), vuelve a la primera columna, heredado de las maquinas de escribir
- Line Feed (LF), equivale al Enter porque baja a la siguiente linea
- Form Feed (FF), se mueve a la siguiente pagina
- Backspace (BS), retrocede un espacio en la linea borrando el caracter que estaba
Pero tenemos un caracter especial llamado NUL denominado comunmente como el caracter null y se lo pasa como \\0 y sera el encargado de indicar que es el final de nuestra cadena (string), si lo omitimos C generara una cadena de forma incorrecta, los otros caracteres especiales encargados de la comunicacion entre dispositivos, asi como otros se encargaran de separar los bloques de datos de bloques mas largos (archivos) bajarlo a unidades de grabacion y finalmente unidades.
Los caracteres imprimibles son aquellos que veremos en pantalla o en los viejos tiempos se imprimian, entre ellos tenemos a los numeros, letras en amyusculas y minusculas, caracteres de marcacion, marcas de puntuacion, los caracteres encargados de la distribucion, espacios en blanco, veamos algunos caracteres que son requeridos por el lenguaje:
- Letras en minusculas, a…z
- Letras en mayusculas, A…Z
- Los numeros, 0…9
- Espacio en blanco, SPACE – HT – VT – FF – LF – CR
- El caracter NUL
- Los caracteres destructivos, BEL – ESC – BS – DEL
- Los caracteres graficos, entre ellos el !, &, ?, _
Hoy afortunadamente tenemos todo este estandarizado bajo una sola norma llamada ASCII pero eso no quita que existan otras normas o charset (conjunto de caracteres) que extiendan al estandar ASCII pero por el momento centremonos en este estandar.
ASCII estaba basado en viejos estandares y se desarrollo a la par de C, en su modelo base consta de 128 valores de caracteres, los cuales se pueden representar con un solo valor de caracter, siendo su primer valor 0 y su ultimo valor 127, por esta razon cuando hablamos de un caracter en realidad estamos hablando un de byte solo que representa una posicion en el conjunto de caracteres, con esto podemos decir:
Que cualquier unsigned char que sea mayor a 127 y cualquier signed char que sea menor a 0 son caracteres ASCII invalidos
el tinchicus
Puede pertenecer a otro conjunto de caracteres? puede ser pero no al estandar de ASCII, con esto podemos decir que ASCII se divide en 4 grupos de 32 caracteres:
- 0-31, Caracteres de control
- 32-63, Puntuaciones y numeros
- 64-95, Letras en mayuscula y puntuaciones adicionales
- 96-127, letras en minusculas, puntuaciones adicionales y DEL
Si necesitan saber un poco mas sobre la tabla de los caraccteres ASCII les recomiendo visitar el siguiente sitio:
No solamente tendran la tabla ASCII basica sino tambien podran ver como es la extendida, algunos caracteres especiales y un poco mas sobre su historia, mas adelante nos adentraremos en estos temas pero por el momento que entiendan que es un caracter y de donde se representa en su forma mas basica nos alcanzara por el momento para luego adentrarnos en las cadenas.
En resumen, hoy hemos visto que es un caracter, como se relaciona con la tabla ASCII, como se compone y en realidad como es en su forma mas basica, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
