如何打印八进制表示的字符?请注意,这些字符可能是特殊字符(转义符、背景、箭头键等)。例如,我想要一个函数'printoctal',这样:
my $char = 'P'; printoctal $char;
我想打印120。
120
y1aodyip1#
你想要两样东西:ord接受一个字符串,并返回该字符串的第一个字符的数值。也就是说,ord "P"是80。然后,您需要printf或sprintf。sprintf "%o", $num将接受一个数字并返回该数字的八进制表示,printf将打印八进制表示而不是返回它。printf "%o\n", ord "P"将打印"120"。
ord
ord "P"
printf
sprintf
sprintf "%o", $num
printf "%o\n", ord "P"
"120"
1条答案
按热度按时间y1aodyip1#
你想要两样东西:
ord
接受一个字符串,并返回该字符串的第一个字符的数值。也就是说,ord "P"
是80。然后,您需要
printf
或sprintf
。sprintf "%o", $num
将接受一个数字并返回该数字的八进制表示,printf
将打印八进制表示而不是返回它。printf "%o\n", ord "P"
将打印"120"
。