Page 2 sur 2

Re: Jeu touches clavier TI83

Message non luPosté: 28 Juin 2022, 19:53
de Fabien59
Bonsoir,

je ne connais pas cette notion de listes d'octets utilisée par critor . Et je dois bien reconnaître que je n'ai pas compris comment çà fonctionne 🤔

Je vois que les éléments de la chaine de caractère sont précédés d'un b et séparés par des échappements \.
Pour comprendre, j'ai voulu faire le test suivant :
Soir une chaine : ch=b"\0\1\2\3\4\5\6\7\8\9"
L'appel ch[0] ou ch[1], ... jusque ch[7] renvoi bien le chiffre indiqué après la barre d'échappement. Mais ch[8] donne 92.... et donc je dois bien reconnaître que je n'ai rien compris. J'avais cru naïvement que cette notation était un moyen de transformer un élément d'une chaîne en type integer :#fou#:

Pouvez-vous m'expliquer comment fonctionne cette liste d'octets ? Peut-être avez-vous un lien à me conseiller pour comprendre cette notion.
Merci.

Re: Jeu touches clavier TI83

Message non luPosté: 28 Juin 2022, 20:16
de critor
La liste d'octets comme son nom l'indique contient une série d'octets. C'est-à-dire que chaque élément a pour taille 1 octet et ne peut donc avoir que 256 valeurs différentes, ce qui permet une structure de données optimisée en conséquence en mémoire.
Ce n'est pas le cas avec une chaîne de caractères (certains caractères spéciaux peuvent occuper plus d'1 octet) ni avec une liste qui peut contenir n'importe quoi.

La liste d'octets s'initialise comme une chaîne de caractères et s'utilise ensuite exactement comme une chaîne ou une liste.

\0 à \7 sont des raccourcis en base 8 (octale) permettant d'indiquer dans une liste d'octets ou chaîne de caractères des octets de valeur 0 à 7.
Comme c'est une notation de base 8, les raccourcis \8 et \9 n'existent pas, et sont donc interprétés comme 2 caractères/octets distincts.

Re: Jeu touches clavier TI83

Message non luPosté: 28 Juin 2022, 21:30
de Fabien59
Merci pour ces précisions.
je vois que j'ai du boulot avant d'être au niveau sur l'encodage des chaines de caractères 😁 ... je vais me trouver un cahier de vacances sur le sujet 😉