2

如何使用八进制表示打印字符?请注意,这些字符可能是特殊字符(转义符、后退符、箭头键)。

例如,我想要一个函数“printoctal”,这样:

my $char='P';
printoctal $char;

我想打印120

4

1 回答 1

8

您需要两件事:ord接受一个字符串,并返回该字符串第一个字符的数值。也就是说,ord "P"是80。

然后,你想要printfor sprintfsprintf "%o", $num将接受一个数字并返回一个字符串,该字符串是该数字的八进制表示,printf将打印八进制表示而不是返回它。

一起,printf "%o\n", ord "P"将打印"120"

于 2013-08-06T22:11:42.343 回答