2012-05-27 52 views
2

當我代碼並運行了聲明:印刷NULL字符(「 X00」)在Python對C

print "\x00\x00\x00" 

在Python它輸出三個空格跟着一個換行符。但在C,當我代碼並運行了聲明:

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

它解釋空字節像我以爲它會:它不會做任何事情。那麼爲什麼在Python中NULL字節被視爲空格呢?...

回答

9

那麼爲什麼Python中的NULL字節被視爲空格呢?

不是。您的終端/控制檯將它們視爲空間。 C恰好停在第一個NUL上,而Python輸出它們。嘗試寫三個NUL到標準輸出。