Bertrand Benjamin
809c20cc21
All checks were successful
continuous-integration/drone/push Build is passing
82 lines
4.1 KiB
TeX
82 lines
4.1 KiB
TeX
\begin{exercise}[subtitle={Table ASCII}, step={1}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
|
|
Voici la table de caractère ASCII
|
|
|
|
\begin{center}
|
|
\includegraphics[scale=0.35]{./fig/ascii_table}
|
|
\end{center}
|
|
\begin{enumerate}
|
|
\item Quels sont les caractères absents de cette table?
|
|
\item Combien de bits sont nécessaires pour encoder un caractère avec la table ascii? Combien d'octets?
|
|
\item Encoder en binaire puis en héxadécimal grâce à la table ASCII le message \Ovalbox{\texttt{NSI <3}}.
|
|
\item Décoder grace à la table ASCII le message
|
|
\begin{center}
|
|
01001101 01100001 01110100 01101000 00100000 00101011 00100000 01010011 01010110 01010100 00100000 00101011 00100000 01010000 01000011 00100000 00111101 00100000 00111100 00110011
|
|
\end{center}
|
|
\item Décoder grace à la table ASCII le message
|
|
\begin{center}
|
|
4D 61 74 68 3A 29
|
|
\end{center}
|
|
\item Le programme de première NSI contient \np{25107} caractères. Quelle sera son poids s'il est numérisé en ASCII? Vous exprimerez le résultat en octet et en bit.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Table ASCII et Python}, step={1}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
|
|
En Python, il existe deux fonctions qui permettent de convertir un caractère en son point de code (lisez place dans la table ASCII pour le moment) en décimal et inversement.
|
|
\begin{itemize}
|
|
\item \mintinline{python}{ord}: caractère vers point de code
|
|
\item \mintinline{python}{chr}: point de code vers le caractère
|
|
\end{itemize}
|
|
\begin{enumerate}
|
|
\item Avec python afficher les 128 craactères de la table ascii (Bonus: faites les apparaitres sur 4 colonnes comme dans la table au dessus).
|
|
\item Comparer le résultat avec la table obtenu.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Norme ISO-8859-1}, step={1}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
|
|
\begin{enumerate}
|
|
\item Chercher la table d'encodage ISO-8859-1 (ou latin-1).
|
|
\item Comparer cette table avec la table ASCII.
|
|
\item Encoder le mot \texttt{a«€éø}
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Unicode table}, step={2}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
|
|
La norme Unicode découpe le processus d'encodage en deux parties: le point de code et l'encodage.
|
|
|
|
Vous trouverez les points de code et les encodages correspondant sur le moteur de recherche \url{https://unicode-table.com/fr}.
|
|
|
|
\begin{enumerate}
|
|
\item Compléter le tableau ci-dessous avec les points de code et les encodage (représentée sous la forme qui vous semble la plus familière).
|
|
\begin{center}
|
|
\begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|}
|
|
\hline
|
|
Caractère & Point de code & UTF-8 & UTF-16BE & UTF-32BE \\
|
|
\hline
|
|
I & & & &\\
|
|
\hline
|
|
\euro & & & &\\
|
|
\hline
|
|
$\aleph$ & & & &\\
|
|
\hline
|
|
& U+20B3 & & &\\
|
|
\hline
|
|
& U+1F606 & & &\\
|
|
\hline
|
|
& U+FE9A & & &\\
|
|
\hline
|
|
\end{tabular}
|
|
\end{center}
|
|
\item Quels sont les caractères qui sont inclus dans la norme Unicode?
|
|
\item Quels sont les encodages possibles et quelles sont leur caractéristiques?
|
|
\item Comment est placé la table ASCII dans cette norme?
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Exploration de l'Unicode}, step={2}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
|
|
Notebook \texttt{02_unicode}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Encodage UTF-8}, step={2}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
|
|
On verra...
|
|
\end{exercise}
|