如何在Perl中显示扩展ASCII代码字符?

Tre*_*ree 5 perl ascii extended-ascii

替代文字

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

Dae*_*yth 11

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

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

perl -E 'say "\x{2514}"; use charnames; say "\N{BOX DRAWINGS LIGHT UP AND RIGHT}"'
Run Code Online (Sandbox Code Playgroud)


ger*_*tas 8

要准确使用这些代码,您的终端必须支持代码页437,其中包含框架.或者,您可以使用带有较少装箱字符的派生CP850.这种装箱字符也作为Unicode块元素存在.你想要在perl中的字符被标记为\N{U+2514}.perlunicode的更多细节


Dou*_*der 5

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

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

编辑:正确的编码.

  • 不,这是IBM437.见[IANA](http://www.iana.org/assignments/character-sets),[RFC 1345](http://datatracker.ietf.org/doc/rfc1345/),[en.Wikipedia](http ://en.wikipedia.org/wiki/IBM437). (4认同)