使用unicode字符的ASCII表

时间:2014-11-10 15:35:03

标签: linux bash unicode

现在我们使用的大多数终端都能够显示unicode符号。因此,这个方框:

+--------------+
| Hello World! |
+--------------+

可以使用unicode chars轻松地重写:

┌──────────────┐
│ Hello World! │
└──────────────┘

boxes或Perl CPAN模块Text::ASCIITable等几个命令行工具可以绘制没有unicode字符的常规ASCII框。

我的问题是我应该避免使用unicode字符的原因(至少在检查$LANG是否包含utf8之后)?

免责声明:我要求对问题进行务实的分析而不是任何个人观点,因为有些人可能认为这个问题主要是基于意见的问题。

1 个答案:

答案 0 :(得分:1)

在问题中隐含的意义上使用“Unicode字符”(即ASCII范围之外的字符)的主要原因是并非所有字体都支持它们。其次,并非所有程序都支持它们,但这一点正在失去意义。

当您使用不包含它们的字体渲染字符时,它们通常会被小矩形或缺少字形的类似指示符替换。

如果您可以确保您的软件仅在用于显示字符图形的字体将包含所需的所有字符的环境中使用,并且形状可接受,则应该没有理由避免使用非ASCII字符。 / p>

但是,渲染的细节取决于使用的字体和渲染参数。例如,框图字符并不总是以预期的方式连接。另一方面,即使他们不这样做,结果通常也比仅使用ASCII更好。