2022-2023/1NSI/07_Representation_de_texte/1B_table_encodage.tex
Bertrand Benjamin 809c20cc21
All checks were successful
continuous-integration/drone/push Build is passing
Feat(NSI): fin du chapitre sur les string
2023-02-14 11:36:18 +01:00

90 lines
3.1 KiB
TeX

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