9
votes

ASCII étendu à Linux

Comment imprimera-i de ces caractères de Linux?

│ (ASCII 179)

├ (ASCII 195)

└ (ASCII 192)

─ (ASCII 196)

Je ne trouve aucune valeur octale qui fonctionnerait avec ECHO -E "\ 0XXX", toutes idées?


0 commentaires

4 Réponses :


2
votes

Éteignez la police sur un codage PC-8 / CP437 ou utilisez la valeur UNICODE pour ces caractères, codé dans la brict actuelle.


0 commentaires

7
votes

Après de nombreuses portions sur homme printf et info printf , je pense que j'ai eu ceci pour travailler.

Le problème de base semble être que Bash a un intégré qui ne fonctionne pas. Et, malgré ce que les pages de l'homme / d'information, disent, \ u ne fonctionne pas. \ u est toujours, cependant.

env imprimerf '\ u2502'

me fait un personnage de boîte verticale.


4 commentaires

env imprimerf '\ u2502' obtient-moi "Â", peut-être qu'il y a des paramètres que je devrais changer? .. J'espérais trouver une solution qui fonctionnerait dans n'importe quel environnement


La liste complète des caractères de dessin de la boîte pour unicode à utiliser avec ceci est répertoriée dans en.wikipedia. org / wiki / box-dessin_character


Plutôt que d'utiliser "ENV Printf", vous pouvez simplement exécuter "/ bin / printf" de sorte que Bash exécute le programme externe printf, et non le bâti (qui ne prend pas en charge cette syntaxe UNICODE). BTW, cela ne fonctionnera que avec Printf de GNU Coreutils, cela ne fonctionnera peut-être pas dans d'autres versions UNIX.


Eh bien, env imprimerf n'est pas encore l'ensemble de l'histoire. Vous pouvez également préparer des paramètres régionaux avant le env pour prendre influence sur les résultats, e. g. LC_All = EN_GB.UTF-8 env Sauftf '\ u2502' . Je pense que c'est le problème que Benjamin a fait face. Pour trouver la source de ces problèmes, il est toujours très recommandable de taper locale dans la console pour voir quels sont les paramètres actuels. (Les particuliers vont également influencer sur la langue de certaines applications X11.)



5
votes

Vous pouvez utiliser exactement les mêmes codes que vous avez fournis ou du jeu de caractères ASCII étendu (E.G. 195 pour ├) Si vous avez le bon codeur d'afficher les caractères.

On Linux, nous n'avons pas le support de jeu de caractères ASCII étendu non standard - c'est pourquoi il n'est pas affiché. Cependant, j'ai trouvé un autre jeu de caractères disponible pour Linux et est presque similaire au jeu de caractères ASCII étendu. C'est IBM855.

Tout ce que vous avez à faire est de modifier le codage du personnage de votre application de ligne de commande vers IBM855. Tous les caractères de dessin de la boîte populaire ont le même code de l'ensemble de caractères ASCII étendu - qui est le plus important.

Vous pouvez comparer les ensembles de ce image et ce image .

PS: si vous utilisez Gnome-Terminal, vous pouvez ajouter IBM855 CHARSET en cliquant sur le menu "Terminal" dans la barre de menu -> "Encorier le caractère de caractère" -> "Ajouter ou supprimer". Recherchez IBM855 et ajoutez-le. Maintenant, choisissez simplement le codage à partir de "Terminal" -> "Set Cooding Coding" -> "Cyrillic (IBM855)".

Ce sont les boîtes suffisantes pour mes devoirs. J'espère que cela t'aides. :)


1 commentaires

Comment faire cela dans Bash sur Mac OS X?



2
votes

Parce que certaines personnes peuvent toujours vouloir savoir ceci ...

Voir les lignes qui utilisent iconv pour traduire.

Pour imprimer des codes ASCII / ASCII ASCII EXTENDIEZ CP437 dans Linux / Bash Script: < / p> xxx


1 commentaires

Merci @shmatt! Cela fonctionne parfaitement. de