我将如何在Linux中打印这些字符?
│(ascii 179)
├(ascii 195)
└(ascii 192)
─(ascii 196)
我无法find任何八进制值,将与echo -e“\ 0xxx”,任何想法?
在仔细研究了man printf
和info printf
,我想我已经得到了这个工作。
基本问题似乎是bash有一个内置的printf
不起作用。 而且,尽管man / info页面说的\U
不起作用。 但是\u
仍然会这样做。
env printf '\u2502'
给我一个垂直的框字符。
如果您有正确的编码器来显示字符,您可以使用您提供的完全相同的代码或扩展的ASCII字符集(例如195代表├)。
在Linux上,我们缺少非标准的扩展ASCII字符集支持 – 这就是为什么不显示。 但是,我发现另一个可用于Linux的字符集, 几乎和扩展的ASCII字符集相似。 这是IBM855。
您所要做的就是将命令行应用程序的字符编码更改为IBM855。 所有流行的框图绘制字符都具有相同的扩展ASCII字符集代码 – 这是最重要的。
你可以比较这个图像和这个图像的集合。
PS:如果您使用的是gnome-terminal,您可以通过点击菜单栏中的“Terminal”菜单 – >“set character encoding” – >“Add or Remove”来添加IBM855字符集。 寻找IBM855,并添加它。 现在只需从“terminal” – >“set character encoding” – >“Cyrillic(IBM855)”中选择编码即可。
他们的箱子足够我的作业。 希望这可以帮助。 🙂
或者将字体切换为PC-8 / CP437编码的字体,或者使用这些字符的Unicode值代替编码到当前字符集中。