Perl \x在打印中做什么

Perl \x在打印中做什么,perl,Perl,首先,我想说我不熟悉Perl。也就是说,我遇到了这段代码,我无法理解下面代码中的\x是用来做什么的。此外,我不确定为什么在运行以下命令时没有显示任何内容: perl -e 'print "\x7c\x8e\x04\x08"' perl -e 'print "\x7c\x8e\x04\x08"' \x表示十六进制字符表示法的开始。它与打印无关:它与字符串表示有关,其中代码表示字符集中的字符。有关更多信息,请阅读和 在您的情况下,字符代码是十六进制的。您应该查看字符集表,可能需要先转换为十进制。

首先,我想说我不熟悉Perl。也就是说,我遇到了这段代码,我无法理解下面代码中的
\x
是用来做什么的。此外,我不确定为什么在运行以下命令时没有显示任何内容:

perl -e 'print "\x7c\x8e\x04\x08"'
perl -e 'print "\x7c\x8e\x04\x08"'

\x表示十六进制字符表示法的开始。

它与打印无关:它与字符串表示有关,其中代码表示字符集中的字符。有关更多信息,请阅读和

在您的情况下,字符代码是十六进制的。您应该查看字符集表,可能需要先转换为十进制。

您说“我不确定为什么在运行以下操作时没有显示任何内容:”

该命令向标准输出4个字符。每个字符都以十六进制指定。“\x7c”部件将输出
|
。其他三个字符是控制字符,因此可能不会产生任何可见的输出。如果您将输出重定向到一个文件,您将得到一个4字节的文件

您可能没有看到竖线字符,因为它正在被命令提示覆盖。与shell
echo
或Python的
print
不同,Perl的
print
函数不会自动向所有输出追加换行符。如果需要新行,可以使用
\n
将它们插入字符串中