A leitura de linha é bloqueada em 0x1A

Eu tenho o seguinte arquivo:

abcde
kwakwa
<0x1A>
line3
linllll

Onde<0x1A> representa um byte com o valor hexadecimal de 0x1A. Ao tentar ler este arquivo no Python como:

for line in open('t.txt'):
    print line,

Ele lê apenas as duas primeiras linhas e sai do loop.

A solução parece ser abrir o arquivo no modo binário (ou modo de nova linha universal) - 'rb' ou 'rU'. Você pode explicar esse comportamento?

questionAnswers(2)

yourAnswerToTheQuestion