7

替代文字

如何在 perl中显示 192 个字符符号(└) ?

4

5 回答 5

11

您想要的是能够打印 unicode,答案在perldoc perluniintro.

您可以使用\x{nnnn}where n 是十六进制标识符,也可以\N{...}使用名称:

perl -E 'say "\x{2514}"; use charnames; say "\N{BOX DRAWINGS LIGHT UP AND RIGHT}"'
于 2010-09-20T15:47:11.200 回答
8

要准确使用这些代码,您的终端必须支持包含帧的代码页 437 。或者,您可以使用具有较少装箱字符的派生CP850 。这种装箱字符也以Unicode 块元素的形式存在。您在 perl 中需要的字符被标记为\N{U+2514}. perlunicode中的更多详细信息

于 2010-09-20T15:52:47.327 回答
5

这看起来像代码页 437 编码。Perl 可能只是输出你给它的字节。你的终端可能期待 UTF8。

因此,您需要将其解码为 Unicode,然后将其重新编码为 UTF-8。

编辑:正确编码。

于 2010-09-20T15:48:49.980 回答
3

像往常一样,Jon Skeet 指出:192代码在“扩展 ASCII ”范围内。我建议您遵循@Douglas Leeder 的建议,但我不确定 www.LookupTables.com 给您的是哪种编码;ISO-8859-1认为 192 映射到“À”,并Mac OS Roman认为它的“¿”。

于 2010-09-20T16:02:21.277 回答
0
于 2021-11-28T21:53:15.020 回答