我想先說我對Perl不熟悉。話雖如此,我遇到了這段代碼,我不知道在下面的代碼中\x
是什麼。另外,我不確定爲什麼當我跑到下面是沒有任何顯示: x在打印中做什麼
perl -e 'print "\x7c\x8e\x04\x08"'
我想先說我對Perl不熟悉。話雖如此,我遇到了這段代碼,我不知道在下面的代碼中\x
是什麼。另外,我不確定爲什麼當我跑到下面是沒有任何顯示: x在打印中做什麼
perl -e 'print "\x7c\x8e\x04\x08"'
\ X代表一個十六進制字符符號的開始。
這不是關於打印:它是關於字符串表示法,其中代碼表示字符集中的字符。欲瞭解更多信息,您應該閱讀Quote and Quote-like Operators和Effects of Character Semantics
在你的情況下,字符代碼是十六進制。你應該看看你的字符集表,你可能需要先轉換爲十進制。
你說:「我不確定爲什麼沒有任何顯示,當我跑了以下內容:」
perl -e 'print "\x7c\x8e\x04\x08"'
該命令輸出的4個字符到stdout。每個字符都以十六進制指定。 「\ x7c」部分將輸出vertical bar character|
。其他三個字符是控制字符,因此可能不會產生任何可見的輸出。如果你將輸出重定向到一個文件,你最終會得到一個4字節的文件。
您可能看不到垂直條字符,因爲它被命令提示符覆蓋。與shell echo
或Python的print
不同,Perl的print
函數不會自動將新行添加到所有輸出。如果您想要換行,可以使用\n
將它們插入字符串中。