\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}
