Está en la página 1de 35

CTE-131

Algoritmos y Estructura de Datos


Sección 1100 Docente: M. Sc. Ing. Yeny Castellanos
CTE-131
Algoritmos y Estructura de Datos
Primer Período 2023

UNIDAD 2

PARTE 2
…REPRESENTACIÓN DE LA INFORMACIÓN EN LAS COMPUTADORAS-
Representación de Textos

Los códigos más utilizados en la actualidad son:


BCD
ASCII
EBCDIC
UNICODE

Ms.C. Ing. Yeny Castellanos


UNICODE
Estándar industrial cuyo objetivo es proporcionar el medio por el cual un texto en cualquier forma e
idioma pueda ser codificado para el uso informático.
Los caracteres UNICODE están en hexadecimal incluso si no hay letras.

El establecimiento de Unicode ha involucrado un ambicioso proyecto para reemplazar los


esquemas de codificación de caracteres existentes, muchos de los cuales están muy limitados en
tamaño y son incompatibles con entornos multilingües.

Implementado en un número considerable de tecnologías recientes, que incluyen XML, Java y


Sistemas Operativos modernos.

4
Ms.C. Ing. Yeny Castellanos
UNICODE
• Unicode define cada carácter o símbolo mediante un
nombre e identificador numérico, el code point (‘punto de
código’).
• Además incluye otras informaciones para el uso correcto
de cada carácter, como sistema de escritura, categoría,
direccionalidad, mayúsculas y otros atributos.
• Unicode trata los caracteres alfabéticos, ideográficos y
símbolos de forma equivalente, lo que significa que se
pueden mezclar en un mismo texto sin utilizar marcas o
caracteres de control.
Ref. Presentación de código por el estudiante Axel J. Arévalo – 2p19

Ms.C. Ing. Yeny Castellanos


UNICODE
• Este código utiliza un patrón único de 16 bits para representar cada símbolo,
que permite 216 bits o sea hasta 65,536 patrones de bits (símbolos) diferentes.

• Desde el punto de vista de unidad de almacenamiento de caracteres, se utiliza


el archivo (fichero). Un archivo consta de una secuencia de símbolos de una
determinada longitud codificados utilizando ASCII o Unicode y que se
denomina archivo de texto.

Archivos de texto simples, que son manipulados por los programas de


utilidad denominados editores de texto.

Archivos de texto más elaborados que se producen por los procesadores de


texto, tipo Microsoft Word.

Ms.C. Ing. Yeny Castellanos


UTF -8
• UTF-8 (8-bit Unicode
Transformation Format) es
un formato de codificación de
caracteres Unicode e ISO
10,646 utilizando símbolos
de longitud variable.
Ref. Presentación de código por el estudiante Axel J. Arévalo – 2p19

Ms.C. Ing. Yeny Castellanos


Historia
• UTF-8 fue ideado por Kenneth L. Thompson bajo los
criterios de diseño de Robert C. Pike el 2 de septiembre
de 1992.

• Ambos lo implementaron e implantaron en su sistema


operativo Plan 9 from Bell Labs. Posteriormente fue
oficialmente presentado en la
conferencia USENIX en San Diego en enero de 1993.
Ref. Presentación de código EBCDIC por el estudiante Axel J. Arévalo – 2p19

Ms.C. Ing. Yeny Castellanos


UTF-8
▪ Es una norma de transmisión ▪ Se necesita un solo byte en UTF-
de longitud variable para 8 para codificar los 128
caracteres codificados caracteres US-ASCII en el rango
utilizando Unicode. U+0000 a U+007F Unicode.
▪ Usa grupos de bytes para ▪ No es afectado al utilizar
representar el estándar de compresión de datos.
Unicode para los alfabetos de ▪ El IETF (Internet Engineering Task
muchos de los lenguajes del Force) requiere que todos los
mundo. protocolos de Internet indiquen
▪ Usa 1 a 4 bytes por carácter, qué codificación utilizan para los
en función del símbolo textos, y que UTF-8 esté entre las
Unicode. mismas.
9

Ms.C. Ing. Yeny Castellanos


características principales
• Es capaz de representar cualquier carácter Unicode.
• Usa símbolos de longitud variable (de 1 a 4 bytes por carácter
Unicode).
• Incluye la especificación US-ASCII de 7 bits, por lo que
cualquier mensaje ASCII se representa sin cambios.
• Incluye sincronía. Es posible determinar el inicio de cada
símbolo sin reiniciar la lectura desde el principio de la
comunicación.
• No superposición. Los conjuntos de valores que puede tomar
cada byte de un carácter multibyte, son disjuntos, por lo que
no es posible confundirlos entre sí.
Ref. Presentación de código EBCDIC por el estudiante Axel J. Arévalo – 2p19

Ms.C. Ing. Yeny Castellanos


UTF-8: Ventajas
▪ Puede codificar cualquier carácter.
▪ Ahorra espacio respecto de UTF-16 o UTF-32 que
utilizan muchos caracteres ASCII de 7 bits.
▪ Una secuencia de bytes para un carácter jamás será
parte de una secuencia más larga de otro carácter
como lo hacían viejas codificaciones.

11

Ms.C. Ing. Yeny Castellanos


UTF-8: Ventajas
▪ Está diseñado para que los bytes codificados nunca tomen
alguno de los valores de los caracteres especiales de ASCII,
previniendo problemas de compatibilidad con librerías y
sistemas operativos legacy como la ANSI C.
▪ Las cadenas en UTF-8 pueden ser ordenadas usando
rutinas de ordenamiento estándar orientadas a byte.
▪ UTF-8 es el valor predeterminado para el formato XML.
FORMATO XML DE DOCUMENTOS ELECTRÓNICOS. El formato estándar “Extensible Markup Language
(XML), tiene varias características que lo hacen conveniente, entre las que podemos destacar: Es un estándar 12

abierto, flexible y ampliamente utilizado para almacenar, publicar e intercambiar cualquier tipo de información.
UTF-8: desventajas
▪ Es de longitud variable; eso significa que diferentes caracteres
toman secuencias de diferentes longitudes para codificar. La
agudeza de esto podría ser disminuida, sin embargo, creando una
interfaz abstracta para trabajar con cadenas UTF-8 y haciéndolo
transparente al usuario.
▪ Un analizador de UTF-8 mal escrito podría aceptar un número de
diferentes representaciones pseudo-UTF-8 y convertirlas en la
misma salida Unicode.
▪ Los caracteres ideográficos usan 3 bytes en UTF-8, pero sólo 2 en
UTF-16. Así, los textos chinos/japoneses/coreanos usarán más
13
espacio cuando sean representados en UTF-8.
• CESU-8: Esta implementación realiza una
traducción directa de la cadena de caracteres
representada con UTF-16 en lugar de codificar
los puntos de código Unicode. El resultado es
codificaciones diferentes para caracteres
Unicode con código superior a 0xFFFF.
Ref. Presentación de código EBCDIC por el estudiante Axel J. Arévalo – 2p19

Ms.C. Ing. Yeny Castellanos


Licenciatura en Ciencia y Tecnologías de la Información Geográfica
Técnico en Sistemas de Información Geográfica con énfasis en Catastro

Historia

UTF-16 es la evolución de UCS-2, presente en el estándar Unicode


hasta la versión 1.1. En UCS-2 cada punto de código se representa
por su valor, lo que limitaba su uso al plano básico multilingüe. En
la versión 2.0 del Estándar Unicode, la decisión de ampliar el
espacio de códigos por encima del código FFFF supuso la
necesidad de incluir un nuevo formato que diese soporte a los
nuevos planos, 15 y 16, de uso privado.

Ref. Presentación de código EBCDIC por el estudiante Eduardo Tercero – 2p19


UTF-16
▪ UTF-16 se estableció como formato de presentación en sistemas
operativos como Apple macOS y Microsoft Windows.

▪ Sin embargo, también se aplica en muchos frameworks de


desarrollo de software, siendo uno de los UTF más antiguos que
todavía siguen utilizándose.

▪ Su estructura es especialmente apta para ahorrar espacio en la


codificación de caracteres lingüísticos no latinos. La mayoría de
caracteres se representan con 2 bytes (16 bits) y pocas veces se
16
duplica la longitud a 4 bytes.
Ms.C. Ing. Yeny Castellanos
UTF-16
Es un código de caracteres que proporciona una
forma de representar caracteres Unicode e ISO/IEC
10646 como una serie de palabras de 16 bits y 24
bits susceptibles de ser almacenados o
transmitidos a través de redes de datos.

17

Ms.C. Ing. Yeny Castellanos


la diferencia entre UTF 16 y UTF 8

Como hemos visto , el código ASCII es una codificación de siete bits utilizada para
los caracteres en inglés, incluida la mayoría de los signos de puntuación. Un byte
contiene ocho bits, por lo que hay un bit libre en cada byte que puede utilizarse como
señal de que el carácter se encuentra fuera de ese rango.
El “8” en la expresión “UTF 8” se refiere a estos ocho bits. El UTF 8 es una codificación
de ancho variable. Un carácter particular podría ser de uno, dos, tres o cuatro bytes.
Por otro lado, en UTF 16, también de ancho variable, los caracteres utilizan 16 bits, o 2
bytes para cada carácter de los más comunes, o 4 bytes si el carácter para codificar cae
fuera del rango.
Ref. Presentación de código EBCDIC por el estudiante Eduardo Tercero – 2p19

Ms.C. Ing. Yeny Castellanos


la diferencia entre UTF 16 y UTF 8
UTF-8 UTF-16
• Los caracteres ASCII básicos como • Caracteres BMP (plano multilingüe
dígitos, caracteres latinos sin acentos, básico), incluidos el latín, el cirílico, la
etc. ocupan un byte que es idéntico a la mayoría de los chinos (el PRC admitió
representación US-ASCII. De esta algunos puntos de código fuera del BMP
manera, todas las cadenas US-ASCII se obligatorio), la mayoría de los japoneses
convierten en UTF-8 válidas, lo que se pueden representar con 2 bytes.
proporciona una buena compatibilidad • use una o dos unidades de código para
con versiones anteriores en muchos codificar Unicode
casos.
• la unidad de código es de 8 bits

Ref. Presentación de la estudiante Indira Sacaza – 1p23

Ms.C. Ing. Yeny Castellanos


la diferencia entre UTF 16 y UTF 8
UTF-8 UTF-16
• Sin bytes nulos, lo que permite utilizar • Incluso si el texto tiene caracteres
cadenas terminadas en nulo, esto suplementarios, todavía están
también introduce una gran cantidad de representados por pares de valores de
compatibilidad con versiones anteriores. 16 bits, lo que significa que la longitud
• UTF-8 es independiente del orden de total sigue siendo divisible por dos y
bytes, por lo que no tiene que permite usar 16 bits char como el
preocuparse por el problema Big Endian / componente primitivo de la cadena
Little Endian. • Usa una o dos unidades de código para
• Usa de una a cuatro unidades de código codificar Unicode
para codificar Unicode • 00000000 00100100 para " $ " (uno de
16 bits); 11011000 01010010 11011111
01100010 para " 𤭢 " (dos de 16 bits)
Ref. Presentación de la estudiante Indira Sacaza – 1p23

Ms.C. Ing. Yeny Castellanos


UTF-32

▪ UTF-32 siempre trabaja con 32 bits, es decir, 4 bytes y


su estructura simple aumenta la legibilidad del formato.
En los idiomas, en concreto los que tienen el alfabeto
latino y solo utilizan los primeros 128 caracteres, la
codificación utiliza más memoria de la necesaria (4
bytes en lugar de 1).

21

Ms.C. Ing. Yeny Castellanos


Licenciatura en Ciencia y Tecnologías de la Información Geográfica
Técnico en Sistemas de Información Geográfica con énfasis en Catastro

UTF-32

UTF-32 cubrirá todos los caracteres posibles en 4 bytes. Esto lo hace


bastante hinchado. No puedo pensar en ninguna ventaja de usarlo.

UTF-32 emplea 4 bytes para todos los caracteres


En el siguiente gráfico, la primera línea de números representa la
ubicación de un determinado carácter en el set de caracteres
codificados Unicode. En las otras líneas, se muestra el valor de los
bytes utilizados para representar dicho carácter en una codificación de
caracteres específica.

Ref. Presentación de código EBCDIC por el estudiante Eduardo Tercero – 2p19


Licenciatura en Ciencia y Tecnologías de la Información Geográfica
Técnico en Sistemas de Información Geográfica con énfasis en Catastro

UCS-2 es un estándar de codificación de caracteres


¿Que es en el que los caracteres se representan mediante una
UCS-2? longitud fija de 16 bits (2 bytes). Se usa como
respaldo en muchas redes GSM cuando un mensaje
no se puede codificar utilizando GSM-7 o cuando
un idioma requiere más de 128 caracteres para ser
procesados.

Ref. Presentación de código EBCDIC por el estudiante Eduardo Tercero – 2p19


24

Ms.C. Ing. Yeny Castellanos


https://www.youtube.com/watch?v=UP7oL0yMsWo&t=187s 25

Ms.C. Ing. Yeny Castellanos


¿Qué es un archivo de texto plano? – Explicación avanzada - UTF-8

https://www.youtube.com/watch?v=JG4FtfAiPE4 26

Ms.C. Ing. Yeny Castellanos


Abrir en excel archivos csv con
codificación UTF-8

27

https://www.youtube.com/watch?v=iJOO3lssGhE
EJEMPLO DE
USO DE
CODIFICACION

28

Ms.C. Ing. Yeny Castellanos


EJEMPLO DE USO DE CODIFICACION

30

Ms.C. Ing. Yeny Castellanos


EJEMPLO DE USO DE CODIFICACION

Los caracteres son unidades de información que corresponden aproximadamente a una


unidad de texto en la forma escrita de un lenguaje natural. Unicode define cómo se
interpretan los caracteres, no cómo se representan.
Un glifo, que es la representación visual de un carácter, es la marca realizada en la pantalla del
equipo o la página impresa. En algunos sistemas de escritura, un carácter puede corresponder
a varios glifos o varios caracteres a un glifo. Por ejemplo, "ll" en español es un glifo pero dos
caracteres: "l" y "l".

31
EJEMPLO DE USO DE CODIFICACION

32

Ms.C. Ing. Yeny Castellanos


EJEMPLO DE USO DE Dado que Unicode contiene los puntos

CODIFICACION de código de la mayoría de los


caracteres de todos los idiomas
La codificación de caracteres define cada carácter, su punto de
modernos, el uso de un codificador de
código y su representación en bits. Una cadena de caracteres no se
carácter Unicode permitirá al equipo
puede interpretar correctamente si se desconoce la codificación
interpretar prácticamente todos los
utilizada.
caracteres conocidos.
Existen numerosos esquemas de codificación, pero no es fácil realizar
Hay tres esquemas principales de
la conversión entre ellos, y casi todos toman en consideración
codificación Unicode en uso: UTF-8,
únicamente los caracteres de un reducidísimo grupo de idiomas
UTF-16 y UTF-32. UTF significa Unicode
diferentes. Por ejemplo, si el equipo estuviera configurado para
Transformation Format (“formato de
utilizar OEM-Latin II de forma predeterminada y visitara un sitio Web
transformación de Unicode”). Los
que utilizara IBM EBCDIC-Cyrillic, los caracteres cirílicos que no
números que siguen a UTF indican el
estuvieran presentes en el esquema de codificación Latin II no se
tamaño, en bits, de las unidades
mostraría correctamente y serían reemplazados por otros caracteres, 33
utilizadas para la codificación.
por ejemplo un signo de interrogación o un cuadrado.
EJEMPLO DE USO DE CODIFICACION
▪ UTF-8 utiliza codificaciones de caracteres de ancho variable de 8 bits. UTF-8 utiliza entre 1 y 6 bytes para codificar un
carácter; puede utilizar un número de bytes inferior, igual o superior al que utiliza UTF-16 para codificar el mismo carácter.
En UTF-8, cada punto de código de 0 a 127 (U+0000 a U+0127) se almacena en un solo byte. Solo los puntos de código a
partir de 128 (U+0128) inclusive se almacenan utilizando entre 2 y 6 bytes.
▪ UTF-16 utiliza una sola unidad de código de ancho fijo de 16 bits. Es relativamente compacto y todos los caracteres de uso
habitual caben en una sola unidad de código de 16 bits. Otros caracteres son accesibles utilizando pares de unidades de
código de 16 bits.
▪ UTF-32 requiere 4 bytes para codificar cualquier carácter. En la mayoría de los casos, un documento codificado en UTF-32
tendrá un tamaño casi el doble del que tendría codificado en UTF-16. Cada carácter se codifica en una sola unidad de
código de 32 bits y ancho fijo. UTF-32 se utiliza cuando no hay problemas de memoria y se desea poder utilizar una sola
unidad de código para cada carácter.

Las tres formas de codificación codifican los mismos caracteres comunes y es posible realizar la conversión de una a
la otra sin pérdida de datos.
34
Otras codificaciones de caracteres Unicode son UTF-7 y UTF-EBCDIC. Existe también la codificación GB18030, que
es un equivalente chino de UTF-8 y admite los caracteres del chino simplificado y del chino tradicional.
Referencias
▪ Aho, Alfres V.; Hopcroft, John E.; Ullman, Jeffrey D.; Estructura de Datos y
Algoritmos. Pearson
▪ Brassard, G.; Bradley, P.; Fundamentos de Algoritmia. Prentice Hall
▪ Aires, U. d. (s.f.). Algoritmos y Estructura de Datos I. Argentina:
Departamento de Computación
▪ UTF-8: el estándar de la red. (2019, 27 febrero). IONOS Digital Guide.
https://www.ionos.mx/digitalguide/paginas-web/creacion-de-paginas-
web/utf-8-codificacion-para-una-comunicacion-digital-global/
▪ ¿Diferencia entre UTF-8 y UTF-16? (s. f.).
https://qastack.mx/programming/4655250/difference-between-utf-8-and-utf-
16 35

Ms.C. Ing. Yeny Castellanos


Facultad de Ciencias Espaciales
UNAH
Departamento de Ciencia y Tecnologías de la Información Geográfica

CTE-131
CTE-131
Algoritmos yy Estructura
Algoritmos Estructura de
de Datos
Datos

I Período 2023
Unidad 2
Parte 2 Ms.C. Ing. Yeny Castellanos
+504 31509591
ycastellanos@unah.edu.hn

36

También podría gustarte