Resumen de Representación de Datos en Computadoras
Representación de Datos en Computadoras: Guía Completa
Introducción
La codificación de caracteres es el conjunto de reglas que permite representar texto (letras, dígitos, símbolos y controles) como secuencias de bits que entiende una computadora. Sin una codificación común, los mismos bytes podrían interpretarse como distintos símbolos en sistemas diferentes, provocando incompatibilidades en archivos, comunicaciones y aplicaciones.
Definición: Una codificación de caracteres asigna a cada símbolo un código binario único que permite su almacenamiento, transmisión y procesamiento por sistemas digitales.
1. Clasificación de caracteres
Los caracteres que se usan en informática suelen agruparse en las siguientes categorías:
- Alfabéticos: letras mayúsculas y minúsculas del alfabeto inglés: $a$, $b$, $c$, ..., $Z$.
- Numéricos: los diez dígitos decimales $0,1,2,\dots,9$.
- Especiales: signos de puntuación y símbolos matemáticos: $.,;:!$ $+,-,=$ etc.
- Geométricos y gráficos: símbolos para íconos o formas (p. ej. ¶, ☼, ♀).
- De control: códigos no imprimibles que controlan periféricos o el flujo de texto (NL, CR, SYN, etc.).
Definición: Los caracteres de control son códigos binarios que no representan un símbolo visible sino una orden para el manejo de dispositivos o la presentación del texto.
2. ASCII: básico y extendido
2.1 ASCII básico (7 bits)
- Usa 7 bits por carácter, con $2^{7}=128$ combinaciones.
- Incluye letras mayúsculas y minúsculas del inglés, dígitos y códigos de control básicos.
2.2 ASCII extendido (8 bits)
- Usa 8 bits por carácter, con $2^{8}=256$ combinaciones.
- Extiende el conjunto básico con gráficos adicionales, símbolos y caracteres para otros idiomas (acentos, letras especiales).
Definición: ASCII (American Standard Code for Information Interchange) es una familia de codificaciones diseñadas originalmente para intercambiar información entre equipos y periféricos.
Tabla comparativa: ASCII básico vs ASCII extendido
| Característica | ASCII básico | ASCII extendido |
|---|---|---|
| Bits por carácter | 7 | 8 |
| N° de símbolos | $2^{7}=128$ | $2^{8}=256$ |
| Incluye | Letras inglesas, dígitos, controles | Todo lo anterior + símbolos adicionales y caracteres acentuados |
Práctica: al trabajar con archivos antiguos o terminales legacy, verifique si el contenido usa ASCII de 7 bits o la versión de 8 bits para evitar caracteres malinterpretados.
3. Unicode: codificación universal
3.1 Motivación
Los esquemas anteriores (como ASCII) resultan insuficientes para representar la gran diversidad de escrituras del mundo —por ejemplo, chino, japonés y coreano— y para garantizar que un mismo carácter tenga siempre el mismo código en todas las plataformas.
3.2 Propósitos de Unicode
- Universalidad: cubrir la mayoría de los lenguajes escritos actuales.
- Unicidad: asignar un código único a cada carácter, evitando ambigüedades entre variantes locales.
- Uniformidad: representar símbolos con un espacio de códigos estandarizado.
Definición: Unicode es un estándar que asigna un punto de código único a cada carácter y define formas de codificación (UTF-8, UTF-16, UTF-32) para almacenarlos y transmitirlos.
3.3 Formatos comunes de Unicode
- UTF-8: codificación variable de 1 a 4 bytes por carácter; retrocompatible con ASCII en su rango de 7 bits. Es la más usada en la web.
- UTF-16: usa unidades de 16 bits; puede usar 2 o 4 bytes por carácter (surrogates) para cubrir más puntos de código.
- UTF-32: usa 32 bits por carácter, representando directamente el punto de código en una unidad fija.
Tabla comparativa: UTF-8, UTF-16, UTF-32
| Formato | Unidad básica | Tamaño por carácter | Ventaja principal |
|---|---|---|---|
| UTF-8 | byte (8 bits) | 1–4 bytes | Retrocompatibilidad con ASCII y eficiencia en textos latino |
¿Ya tienes cuenta? Iniciar sesión
Codificación y caracteres
Klíčové pojmy: La codificación asigna códigos binarios únicos a caracteres, ASCII básico usa 7 bits y representa $2^{7}=128$ símbolos, ASCII extendido usa 8 bits y representa $2^{8}=256$ símbolos, Unicode asigna un punto de código único para cada carácter, UTF-8, UTF-16 y UTF-32 son formatos Unicode con diferente tamaño por carácter, UTF-8 es retrocompatible con ASCII y es recomendado para la web, Las codificaciones de longitud variable hacen que byte != carácter en general, El bit de paridad detecta errores simples pero no corrige ni detecta errores pares, Usar siempre especificación de codificación al leer/escribir archivos, Códigos avanzados (Hamming, CRC, ECC) permiten detectar y/o corregir múltiples errores