I would like to understand TeX's behaviour when the catcode of the space character is set to 12.
The following two example input files differ in just one position: where the first has the character 4 the second has the character (space). Both 4 and have catcode 12 in these examples. I therefore expected the typeset output of the second example to be identical to that of the first, with the only difference that the typeset '4' would be replaced by a typeset 'space'. In other words, I expected the second example to have three typeset lines, the second line consisting of five of those "open boxes" that cmtt10 uses to typeset spaces. Instead, TeX ignored the second line, even though it is not empty in the input file (it consists of five catcode 12 spaces). What is going on here?
\catcode`\ =12 \obeylines \tt een twee drie 4 hoedje van papier \bye \catcode`\ =12 \obeylines \tt een twee drie hoedje van papier \bye 

web2cTeX implementations. You can try that by setting the space to a show-stopping catcode, like 2: a line withawill be validweb2cC routines, so if some implementation doesn't use that, spaces may be preserved. This code is not part of TeX itself