(03-12-2020, 02:11 AM)fablelionsilencieux link a écrit :Coucou les gens,
C’est pas toujours compréhensible la limite des 20000 caractères ! :o j’ai essayé, même sans la photo, ça ne passe pas… ¯\_(ツ)_/¯
19701 caractères (espaces compris) ??? c'est niet :-\
Donc, posté en deux fois !
Je pense que c'est parce que le décompte n'est pas fait en caractères visibles à l'écran, mais en octets (un caractère au sens informatique).
Explication :
Au commencement, l'informatique a été créée par des américains.
Par rapport à certains autres peuples américains ont une chose en plus et une chose en moins :
- La chose en plus : les armes de destruction massive qu'un certain président Bush cherchait en Irak.
- La chose en moins : leur langue écrite ne comporte pas d'accents.
De ce fait, ils ont pu définir un jeu de 128 caractères avec tout ce qu'il pouvaient avoir à taper sur une télétype puis un clavier d'ordinateur. Avec 128 caractères, il y en a assez pour le lettres, les chiffres, et d'autres caractères comme { } [ ] ( ) - _ + = # " % * / : ; , ? ! § $ ...
Ensuite, il y a eu les européens qui ont voulu écrire des textes dans leur langue. Comme les caractères sont stockés sous la forme d'octets, c'est à dire d'une suite de 8 bits (bit étant un nom masculin), il y a 2[sup]8[/sup] possibilité de valeurs dans un octet, soir 256 possibilités (le double de 128).
Donc, au jeu de caractère américain qui s'appelle le code ASCII (même dans les pays sans neige), ils ont rajouté 128 autres caractères pour représenter les caractères accentués des langues européennes ou des caractères d'autres langues.
Par exemple, le codage ISO-8859-1 permet d'écrire tous les textes en français du siècle dernier + celui de langues proches ainsi que les programmes informatiques avec tous les caractères du code ASCII. Plus tard, durant ce siècle, il y a eu le code ISO-8859-15 qui ne diffère que très peu du ISO-8859-1, la différence la plus utile étant le remplacement du ¤ par €
Il y a en tout 16 jeux de caractères ISO-8859 pour supporter différentes langues parmi lesquelles l'arabe, l'hébreu, le grec, le russe.
Détails sur les listes de caractères disponibles ici : https://www.jchr.be/html/iso8859
(je m'aperçois que l'auteur de la page est un Belge).
Et donc, avec ce système, il faut choisir un jeu de 256 caractères adapté à ce qu'on veut retranscrire. Mais on ne peut pas mélanger du texte européen accentué avec de l'arabe, du grec, du cyrilique dans le même fichier.
Ensuite, ils ont créé un système de codage des caractères capable de supporter toutes les langues du monde. C'est le jeu de caractères UTF-8.
Dans ce jeu de caractères :
- les 128 caractères du code ASCII sont retranscrits tels quels sur un octet
- les caractères accentués européens et les caractères d'autres langues courantes sont sur 2 octets.
En affichant ces caractères accentués avec la table ISO-8859-1, ça donne un truc comme ceci :
http://www.apprendre-en-ligne.net/bloginfo/images/humour/geek_martine-ecrit-en-utf-8.jpg
- certains caractères comme le symbole € sont codés sur 3 octets
- on peut trouver des caractères sur 4 octets (langues asiatiques) en UTF-8.
Et donc, si on compte les octets, dès qu'un texte est composés de caractères autres que ceux du jeu ASCII américain, il comportera davantage d'octets que le nombre de caractères visibles à l'écran.