Gedit en chinois ou autre ?

bonsoir et bonne année à tous

je viens de lancer la commande :
pngtopnm 7.png > f7.txt

quand je fait un cat:
P6 204 58 255 etc...

quand j’ouvre le fichier avec gedit ou pluma:
㙐㈊㐰 㔠ਸ㔲ਵ

pourquoi ???

Salut,

Dis, si tu l’ouvres avec vi ou nano, tu as le même problème ?
Pour info, je peux aussi avoir le retour de file f7.txt ?

C’est une question d’encodage TL;DR Ouvre le fichier avec un éditeur hexadécimal (GHex, QTCreator…)

Point de culture:

  • Un octet a 256 possibilités, un nombre entier de la taille d’un octet est alors compris entre l’intervalle [-127;127], si on compte le 0 y a bien 256 nombre différents

  • En C/Assembleur on utilise des caractères (a, b, c, y, 1) pour former des chaînes (Bonjour tout le monde). Ces caractères, pour avoir une taille raisonnable, sont représentés par un octet (Ils ont pas voulu s’embêter avec les négatifs du coup y a que 128 caractères différents). C’est la table ASCII.

  • Alors pour que tout le monde puisse utiliser sa langue (comme les accents en français) ils ont du rajouter des caractères, mais comme ils ne voulaient pas modifier ce principe fondamentale d’un octet par caractères ils ont crée des combinaisons. Exemple la table UTF8; utilisant deux octets pour avoir 255 caractères (oui je sais c’est optimisable, si ils avaient utilisé un char non-signé (intervalle [0;256]) ils auraient pu le faire avec un seul octet…) http://www.utf8-chartable.de/

  • On en arrive aux images; ces caractères indiquant qu’on allait faire des combinaisons (un peu comme la touche ‘control-C’ ‘control-V’, ‘control’ c’est pour que vous puissiez toujours utiliser la touche C et V mais aussi leurs rajouter une autre utilisation.) Cependant les images, elles ont un encodage particulier qui peut dans certaines images se révéler être ces fameux caractères indiquant une combinaison, ainsi expliquer ces caractères.

PS: L’encodage par défaut dans le terminal/tty Linux est l’UTF-8 et le CMD Windows, c’est l’UTF-16.

Bonne continuation.