Parfois, ils nous arrivent d'avoir la polioWW^^ avec nos doigts, par exemple faire l'affichage d'un fichier binaire, vidéo, ou autre mp3 qui contiennent des charsets|encodings assez superflus qui flanchent et br0tch notre console bien aimée.
La solution est d'envoyer un caractère magique ASCII, le shift in (SI) qui reset le charset courant à son charset par défaut à savoir l'ASCII (voir la dans la RFC1557, partie Description).
Pour cela, on utilise notre COUPAING echo(1)
avec son flag -e qui interprète la séquence ASCII en octal.
[sbz@atemi:~]$ cat glider.png �PNG IHDR7���� pHYsyyO����IDATxڵV;0 �i�c{�9�w)��K�i��Z� �6+kVc�8q��m�헆<B�;r�lnCB�|�9��D�nȠS�FA_�}��y� BW␊ÁþO£]ÔìðÇ5ùI⎺AèD·␉·¸KÅ©ó¤ÝÝ␊'ÕNú£┤°[Éâ⎻ìÞê<␊\Âñì^2.ª§Ñ߬ÄS[°õÁ┬ã)ö/ò%␋Ý"óEú¦ü4û£ÂWãOäÒøW9X®³9àÏ+äÑÃÊC¤Ç >¨≠ýÉñ>=?V µDïÏüÃοÄ÷L°H␍ÎîÂûÃïä¹ ½ÍNDãÉìXÐòEµ␌␍§ÈX?à¡␉4Æ3àX&4Æ®ïñü│ÿR\©ù␉Û4²ü´Ì³Wé ïËðÐï²≥ýT;Y-åù®ðýí3┘ìVù®ò≠²<÷À␍;ë◆@²çìVùã²␍┬8¸Nþó]"ÿYßñ4ì_ÐøN÷\°äË≥·≥Ï:Ñ»[ÔúÝ ÚOT¢]┌£┴Õº ØòSçÕ¶÷î£ìæÏ_±¤ÝJWîÉ@ <├EX├␌⎺└└␊┼├ I└▒±␊ ±␊┼␊⎼▒├␊␍ ␉≤ GNU G⎺⎽├⎽␌⎼␋⎻├ (␍␊┴␋␌␊=⎻┼└⎼▒┬) úó J├EX├⎽␋±┼▒├┤⎼␊ 85␊1▒␊4▒2°␉▒78␊␊␍4°␍8°0▒␌°237609␊84°5496␌␍␊20␉5␍76␌9␌␉␌298␌4▒␊␉␌%ç Ú IEND®B◆[⎽␉≥@▒├␊└␋ /┤⎽⎼/⎺└␊/⎽␉≥]$ ␊␌⎺ -␊ '\017' [sbz@atemi:~]$ ls -la glider.png -rw-r--r-- 1 sbz wheel 724 8 fév 18:37 glider.png
La séquence magique est donc echo -e '\017
' testée et fonctionnelle sur gnome-terminal.
nota: il y a aussi reset
, tset(1) qui fait le même boulot
“Do what you want cause a pirate is free, you are a pirate” \o/