3

当我编码并运行语句时:

   print "\x00\x00\x00"

在 Python 中,它输出三个空格,后跟一个换行符。但是在 C 中,当我编写代码并运行语句时:

   char hex[] = "\x00\x00\x00";
   printf("%s\n", hex);

它像我想的那样解释 NULL 字节:它什么都不做。那么为什么在 Python 中将 NULL 字节视为空格?...

4

1 回答 1

10

那么为什么在 Python 中将 NULL 字节视为空格呢?

它不是。您的终端/控制台将它们视为空间。C 恰好在第一个 NUL 处停止,而 Python 输出它们。尝试将三个 NUL 写入标准输出。

于 2012-05-27T01:10:01.120 回答