Los tipos de texto son una categoría de variables en programación que nos permiten manipular y trabajar con datos de texto, como palabras, frases, nombres y mensajes.
Estos tipos de variables son muy frecuentes en nuestros programa (por ejemplo, el nombre de una persona, la dirección de un envío, o el texto a mostrar al usuario en una ventana de diálogo).
Esto es debido a que los humanos usamos palabras y textos, para comunicarnos. Sin embargo, para un ordenador no es tan sencillo y natural, manejar textos. Así que hemos tenido que construir las estructuras necesarias para gestionarlos.
En general, encontraremos frecuentemente dos tipos de variables de texto en los distintos lenguajes de programación
- Char, para caracteres individuales
- String, para cadenas completas de texto
El tipo char
El tipo de variable char (abreviatura de “character” en inglés), es la unidad básica de texto utilizada en muchos lenguajes de programación. Representa un único carácter, como una letra, un número o un símbolo.
En realidad, un ordenador no entiende nada de caracteres ni de textos. Únicamente saben manejar números. Entonces, ¿Cómo se almacenan los caracteres en un ordenador?
Aquí es donde entra en juego la tabla de traducción de caracteres, como ASCII o Unicode. Estas tablas asignan un número único a cada carácter (por ejemplo, el carácter “A” se representa con el número 65 en la tabla ASCII).
De esta manera, cuando trabajamos con variables char en un programa, en realidad estamos manipulando los números que representan los caracteres según una determinada codificación.
El tipo string
Si bien el char es la unidad básica de texto, en la mayoría de los casos necesitamos trabajar con cadenas de texto más largas, que contienen múltiples caracteres. Aquí es donde entra en juego el tipo de variable string.
Un string es el tipo de variable “texto de verdad”. A diferencia del char, que representa un solo carácter, un String puede contener una palabra, una frase o incluso un párrafo completo.
En muchos lenguajes de programación, un string es simplemente una colección de char. Por ejemplo, en C.
Sin embargo, para facilitar el manejo y la manipulación de cadenas de texto, los lenguajes de programación generalmente proporcionan objetos más complejos diseñados para trabajar con textos (que igualmente, están construidos alrededor de una colección de char)
Ejemplo de tipos texto
En los lenguajes herederos de C, como C++, C# o Java existen ambos tipos, char y string. Por ejemplo, así se crearía una variable de cada tipo en C#
char miCaracter = 'A';
string miCadena = "Hola, mundo!";
Fijaros que en estos lenguajes para el valor de un char se emplea el '
, mientras que para valores de cadenas de texto se emplea "
.
Que es idéntico al caso de C++, con la salvedad de que string
está definido en el namespace std
.
char miCaracter = 'A';
std::string miCadena = "Hola, mundo!";
En JavaScript, únicamente existe el tipo string
, no existiendo un tipo char
específico. Además, para el uso de valores, podemos usar indistintamente '
, "
, o `
.
let miCaracter = 'A';
let miCadena = "Hola, mundo!";
De forma similar en Python únicamente existe el tipo string
. Para indicar valores, podemos usar indistintamente '
o "
.
miCaracter = 'A'
miCadena = "Hola, mundo!"