\documentclass[a4paper,10pt]{article} \usepackage{myXsim} \usepackage{minted} \author{Benjamin Bertrand} \title{Representation de texte - Cours} \date{Février 2023} \pagestyle{empty} \begin{document} \maketitle Dans cette séquence, on traitera des différentes façons de faire correspondre un caractère (une lettre, un espace...) avec une représentation binaire. \section{Table et encodage} \begin{definition}[Table ASCII] En 1960, la norme \textbf{ASCII} (American Standard Code for Information Interchange) a été crée pour uniformiser l'encodage des caractère par \textbf{l'ANSI} (American National Standards Institute). Elle définit 128 codes, comprenant 95 caractères imprimables : \begin{itemize} \item les chiffres arabes de 0 à 9 \item les 26 lettres de l'alphabet latin en minuscules et en capitales \item des symboles mathématiques et de ponctuation \end{itemize} Chaque caractère est codé sur 7 bits même si on le représente le plus souvent sur 8 bits (1 octet) \end{definition} \paragraph{Remarques:} \begin{itemize} \item Avantages de la table ASCII: \dotfill \item Limitations: \dotfill \end{itemize} \begin{definition}[ISO-8859-1 ou Latin-1] Pour rendre l'utilisation de la table ASCII plus universelle d'autres tables ont été créées. L'ISO (Organisation internationale de normalisation) a proposé la norme ISO-8859 qui utilise le 8e bit pour ajouter 128 caractères supplémentaires pour un total de $2^8 = 256$ caractères. Parmi les tables issues de cette norme, la table ISO-8859-1 (ou Latin-1) est celle qui a été le plus utilisée en occident car elle ajoute les caractères accentués et des nouveaux signes de ponctuation. \end{definition} \paragraph{Remarques:} \begin{itemize} \item Avantages de la table ISO-8859-1: \dotfill \item Limitations: \dotfill \end{itemize} \begin{definition}[Unicode] Pour assurer l'universalité de la représentation de caractères la norme \textbf{Unicode} découpe l'encodage en deux étape: \begin{itemize} \item Le point de code: association entre un caractère et un \textbf{point de code} codés sur 20 ou 21 bits \item L'encodage du point de code (UTF-n où n est le nombre minimal de bit pour représenter un point de code). \end{itemize} Encodages les plus utilisés: \begin{itemize} \item UTF-8: le point de code est encodé sur 1 à 4 octets (ou 8 à 32 bits) \item UTF-16: le point de code est encodé sur 2 à 4 octets (16 à 32bits) \item UTF-32: le point de code est encodé sur 4octets (ou 32 bits) \end{itemize} \end{definition} \paragraph{Encodage et décodage avec l'Unicode} (en vous aidant de \url{https://unicode-table.com/fr}) \begin{center} \begin{tabular}{p{3cm}|p{3cm}|p{3cm}|p{3cm}} Caractère & Point de code & UTF-8 & UTF-32 \\ \hline a & & & \\ \euro & & & \\ $\aleph$ & & & \\ \end{tabular} \end{center} \paragraph{Remarques:} \begin{itemize} \item Avantages de l'Unicode: \dotfill \item Limitations: \dotfill \end{itemize} \end{document}