Código
En comunicaciones y procesamiento de información, código es un sistema de reglas para convertir información, como una letra, palabra, sonido, imagen o gesto, en otra forma, a veces abreviada o secreta, para comunicación a través de un canal de comunicación o almacenamiento en un medio de almacenamiento. Un ejemplo temprano es la invención del lenguaje, que permitía a una persona, a través del habla, comunicar lo que pensaba, veía, escuchaba o sentía a los demás. Pero el habla limita el rango de comunicación a la distancia que una voz puede llevar y limita la audiencia a aquellos presentes cuando se pronuncia el discurso. La invención de la escritura, que convirtió el lenguaje hablado en símbolos visuales, amplió el alcance de la comunicación a través del espacio y el tiempo.
El proceso de codificación convierte la información de una fuente en símbolos para la comunicación o el almacenamiento. Descifrar es el proceso inverso, convertir los símbolos del código nuevamente en una forma que el destinatario entienda, como inglés y/o español.
Un motivo para la codificación es permitir la comunicación en lugares donde el lenguaje sencillo normal, hablado o escrito, es difícil o imposible. Por ejemplo, semáforo, donde la configuración de las banderas que sostiene un emisor de señales o los brazos de una torre de semáforos codifican partes del mensaje, normalmente letras individuales y números. Otra persona situada a gran distancia puede interpretar las banderas y reproducir las palabras enviadas.
Teoría
En teoría de la información y ciencias de la computación, un código generalmente se considera como un algoritmo que representa de manera única los símbolos de algún alfabeto de origen, mediante cadenas codificadas, que pueden estar en algún otro alfabeto de destino. Una extensión del código para representar secuencias de símbolos sobre el alfabeto fuente se obtiene concatenando las cadenas codificadas.
Antes de dar una definición matemáticamente precisa, este es un breve ejemplo. el mapeo
- C={}a↦ ↦ 0,b↦ ↦ 01,c↦ ↦ 011}{displaystyle C={,amapsto 0,bmapsto 01,cmapsto 011,}}
es un código, cuyo alfabeto fuente es el conjunto {}a,b,c}{displaystyle {a,b,c} y cuyo alfabeto objetivo es el conjunto {}0,1}{displaystyle {0,1}}. Utilizando la extensión del código, la cadena codificada 0011001 se puede agrupar en codewords como 0 011 0 01, y estos a su vez se pueden decodificar a la secuencia de símbolos fuente sarna.
Utilizando términos de la teoría formal del lenguaje, la definición matemática precisa de este concepto es la siguiente: dejar que S y T sean dos conjuntos finitos, llamados el origen y los alfabetos objetivo, respectivamente. A código C:S→ → TAlternativa Alternativa {displaystyle C:,Sto T^{*} es una función total mapear cada símbolo de S a una secuencia de símbolos sobre T. El extensión C.{displaystyle C'} de C{displaystyle C}, es un homomorfismo SAlternativa Alternativa {displaystyle S^{*} en TAlternativa Alternativa {displaystyle T^{*}, que naturalmente mapea cada secuencia de símbolos fuente a una secuencia de símbolos de destino.
Códigos de longitud variable
En esta sección, consideramos los códigos que codifican cada carácter de origen (texto sin cifrar) mediante una palabra de código de algún diccionario, y la concatenación de dichas palabras de código nos da una cadena codificada. Los códigos de longitud variable son especialmente útiles cuando los caracteres de texto claro tienen diferentes probabilidades; véase también codificación de entropía.
Un código de prefijo es un código con la "propiedad de prefijo": no hay ninguna palabra de código válida en el sistema que sea un prefijo (inicio) de cualquier otra palabra de código válida en el conjunto La codificación de Huffman es el algoritmo más conocido para derivar códigos de prefijos. Los códigos de prefijo se conocen comúnmente como "códigos Huffman" incluso cuando el código no fue producido por un algoritmo de Huffman. Otros ejemplos de códigos de prefijo son los códigos de llamadas de países, las partes de países y editores de los ISBN y los códigos de sincronización secundarios utilizados en el estándar inalámbrico UMTS WCDMA 3G.
La desigualdad de Kraft caracteriza los conjuntos de longitudes de palabras clave que son posibles en un código de prefijo. Prácticamente cualquier código de uno a muchos decodificable de forma única, no necesariamente uno de prefijo, debe satisfacer la desigualdad de Kraft.
Códigos de corrección de errores
Los códigos también se pueden usar para representar datos de una manera más resistente a errores en la transmisión o el almacenamiento. Este llamado código de corrección de errores funciona al incluir una redundancia cuidadosamente diseñada con los datos almacenados (o transmitidos). Los ejemplos incluyen códigos de Hamming, Reed-Solomon, Reed-Muller, Walsh-Hadamard, Bose-Chaudhuri-Hochquenghem, Turbo, Golay, Goppa, códigos de verificación de paridad de baja densidad y códigos de espacio-tiempo. Los códigos de detección de errores se pueden optimizar para detectar errores de ráfaga o errores aleatorios.
Ejemplos
Códigos en comunicación usados por brevedad
Un código de cable reemplaza palabras (por ejemplo, envío o factura) con palabras más cortas, lo que permite enviar la misma información con menos caracteres, más rápido y menos costoso.
Se pueden usar códigos por razones de brevedad. Cuando los mensajes de telégrafo eran lo último en comunicaciones rápidas a larga distancia, se desarrollaron elaborados sistemas de códigos comerciales que codificaban frases completas en una sola boca (comúnmente grupos de cinco minutos), de modo que los telegrafistas se familiarizaron con tales "palabras& #34; como BYOXO ("¿Estás tratando de escapar de nuestro trato?"), LIOUY ("¿Por qué no respondes a mi pregunta ?"), BMULD ("¡Eres una mofeta!"), o AYYLU ("No claramente codificado, repetir más claramente."). Las palabras clave se eligieron por varias razones: longitud, pronunciabilidad, etc. Los significados se eligieron para adaptarse a las necesidades percibidas: negociaciones comerciales, términos militares para códigos militares, términos diplomáticos para códigos diplomáticos, todos y cada uno de los anteriores para códigos de espionaje. Los libros de códigos y los editores de libros de códigos proliferaron, incluido uno como fachada de la Cámara Negra Estadounidense dirigida por Herbert Yardley entre la Primera y la Segunda Guerra Mundial. El propósito de la mayoría de estos códigos era ahorrar en costos de cable. El uso de la codificación de datos para la compresión de datos es anterior a la era de las computadoras; un ejemplo temprano es el código Morse del telégrafo donde los caracteres de uso más frecuente tienen representaciones más cortas. Técnicas como la codificación Huffman ahora se utilizan en algoritmos informáticos para comprimir grandes archivos de datos en una forma más compacta para su almacenamiento o transmisión.
Codificaciones de caracteres
Las codificaciones de caracteres son representaciones de datos textuales. Una codificación de caracteres dada puede estar asociada con un conjunto de caracteres específico (la colección de caracteres que puede representar), aunque algunos conjuntos de caracteres tienen múltiples codificaciones de caracteres y viceversa. Las codificaciones de caracteres se pueden agrupar ampliamente de acuerdo con la cantidad de bytes necesarios para representar un solo carácter: hay codificaciones de un solo byte, codificaciones de varios bytes (también llamadas codificaciones anchas) y codificaciones de ancho variable (también llamadas codificaciones de longitud variable). Las primeras codificaciones de caracteres eran de un solo byte, cuyo ejemplo más conocido es ASCII. ASCII sigue en uso hoy en día, por ejemplo, en los encabezados HTTP. Sin embargo, las codificaciones de un solo byte no pueden modelar conjuntos de caracteres con más de 256 caracteres. Los scripts que requieren conjuntos de caracteres grandes, como el chino, el japonés y el coreano, deben representarse con codificaciones de varios bytes. Las primeras codificaciones multibyte eran de longitud fija, lo que significa que aunque cada carácter estaba representado por más de un byte, todos los caracteres usaban la misma cantidad de bytes ("longitud de palabra"), lo que los hacía adecuados para decodificar con una tabla de búsqueda.. El grupo final, codificaciones de ancho variable, es un subconjunto de codificaciones multibyte. Éstos utilizan una lógica de codificación y decodificación más compleja para representar de manera eficiente grandes conjuntos de caracteres mientras mantienen las representaciones de los caracteres más utilizados más cortas o mantienen las propiedades de compatibilidad con versiones anteriores. Este grupo incluye UTF-8, una codificación del juego de caracteres Unicode; UTF-8 es la codificación más común de medios de texto en Internet.
Código genético
Los organismos biológicos contienen material genético que se utiliza para controlar su funcionamiento y desarrollo. Este es el ADN, que contiene unidades denominadas genes de las que se deriva el ARN mensajero. Esto a su vez produce proteínas a través de un código genético en el que una serie de tripletes (codones) de cuatro nucleótidos posibles se pueden traducir en uno de veinte aminoácidos posibles. Una secuencia de codones da como resultado una secuencia correspondiente de aminoácidos que forman una molécula de proteína; un tipo de codón llamado codón de parada señala el final de la secuencia.
Código Gödel
En matemáticas, un código de Gödel fue la base para la prueba del teorema de incompletitud de Gödel. Aquí, la idea era mapear la notación matemática a un número natural (usando una numeración de Gödel).
Otro
Existen códigos que utilizan colores, como los semáforos, el código de color que se utiliza para marcar el valor nominal de las resistencias eléctricas o el de las papeleras destinadas a determinados tipos de basura (papel, vidrio, orgánica, etc.).
En marketing, los códigos de cupón se pueden usar para obtener un descuento financiero o un reembolso al comprar un producto de un minorista (habitual de Internet).
En entornos militares, los sonidos específicos con la corneta se utilizan para diferentes usos: para marcar algunos momentos del día, para comandar la infantería en el campo de batalla, etc.
Los sistemas de comunicación para personas con discapacidades sensoriales, como el lenguaje de señas para personas sordas y el braille para personas ciegas, se basan en códigos de movimiento o táctiles.
Las partituras musicales son la forma más común de codificar música.
Los juegos específicos tienen sus propios sistemas de códigos para registrar los partidos, p. notación de ajedrez
Criptografía
En la historia de la criptografía, los códigos alguna vez fueron comunes para garantizar la confidencialidad de las comunicaciones, aunque ahora se utilizan cifrados.
Los códigos secretos destinados a oscurecer los mensajes reales, que van desde los más serios (principalmente espionaje militar, diplomático, comercial, etc.) hasta los triviales (romance, juegos) pueden ser cualquier tipo de codificación imaginativa: flores, cartas de juego, ropa, abanicos, sombreros, melodías, pájaros, etc., en los que el único requisito es el acuerdo previo sobre el significado tanto por parte del emisor como del receptor.
Otros ejemplos
Otros ejemplos de codificación incluyen:
- Codificación (en cognición) - un proceso perceptual básico de interpretación de estímulos entrantes; técnicamente hablando, es un proceso complejo y multietapa de convertir entrada sensorial relativamente objetiva (por ejemplo, luz, sonido) en una experiencia subjetivamente significativa.
- Un formato de contenido - un formato específico de codificación para convertir un tipo específico de datos a la información.
- La codificación de texto utiliza un lenguaje de marcado para etiquetar la estructura y otras características de un texto para facilitar el procesamiento por ordenadores. (Véase también Iniciativa de codificación de textos).
- Codificación semántica del lenguaje formal Un idioma informal B es un método para representar todos los términos (por ejemplo, programas o descripciones) del idioma A usando el idioma B.
- La compresión de datos transforma una señal en un código optimizado para la transmisión o almacenamiento, generalmente hecho con un codec.
- Codificación neuronal - la forma en que la información está representada en neuronas.
- Codificación de memoria - el proceso de convertir sensaciones en recuerdos.
- Televisión: NTSC, PAL y SECAM
Otros ejemplos de decodificación incluyen:
- Decodificación (ciencia informática)
- Decodificación de métodos, métodos en la teoría de la comunicación para decodificar palabras clave enviadas sobre un canal ruidoso
- Procesamiento digital de señales, estudio de señales en representación digital y métodos de procesamiento de estas señales
- Conversor digital-a-analógico, el uso de circuito analógico para operaciones de decodificación
- Decodificación de palabras, el uso de fónicos para descifrar patrones de impresión y traducirlos en los sonidos del lenguaje
Códigos y siglas
Las siglas y abreviaturas pueden considerarse códigos y, en cierto sentido, todos los idiomas y sistemas de escritura son códigos para el pensamiento humano.
Los códigos de aeropuerto de la Asociación Internacional de Transporte Aéreo son códigos de tres letras que se utilizan para designar aeropuertos y para etiquetas de equipaje. Los códigos de estación se usan de manera similar en los ferrocarriles, pero generalmente son nacionales, por lo que se puede usar el mismo código para diferentes estaciones si se encuentran en diferentes países.
Ocasionalmente, una palabra clave adquiere una existencia (y un significado) independiente, mientras que la frase equivalente original se olvida o al menos ya no tiene el significado preciso atribuido a la palabra clave. Por ejemplo, '30' se usó mucho en el periodismo para significar "fin de la historia", y se ha usado en otros contextos para significar "el final".
Contenido relacionado
Telecomunicaciones en Jersey
Pasta adhesiva
Transporte en Armenia