在Python vs C中打印空字符(“\x00”)

2024-06-02 04:48:07 发布

您现在位置:Python中文网/ 问答频道 /正文

当我编码并运行语句时:

   print "\x00\x00\x00"

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

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

它像我想的那样解释空字节:它什么也不做。那么为什么在Python中空字节被当作空格处理呢?。。。


Tags: 编码字节语句空格printhexx00char
1条回答
网友
1楼 · 发布于 2024-06-02 04:48:07

So why in Python are NULL bytes treated as spaces?

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

相关问题 更多 >