2012-11-21 2 views
1

NUL 캐랙터가 포함 된 ANSI로 인코딩 된 .dat 파일이 있습니다.NUL을 통해 읽을 수 있습니다.

str 개체로 읽어 들이지 않아도 전체 str에서 무언가 잘라낼 수 없습니다.

그러나 첫 번째 NUL에 도달하면 file.read()이 중지됩니다.

나는 잃었어요 :)

내 코드 :

file=open(source, mode='rt') 
fulltext=file.read() 
print(fulltext) 

NUL 내가 파일이 할 수있는 특별한 DAT 파일입니다 PortablePython 3.2 으로, 윈도우 XP에있어 ++ 메모장 쇼 메모장으로 텍스트 편집.

+1

내가 EOF와 NUL은 (그냥 0을 의미?) 같은, 그래서'file.read 생각하지 않는다()'중단해서는 안된다. 사용하는 코드를 표시하고, 1) 사용중인 Python 버전 및 2) 현재 사용중인 플랫폼을 알려주십시오. – Evert

+0

수정 됨 ... iot 코드 표시 –

+1

pyscripter가 문제 일 수 있습니다. "관련"사이드 바는 비슷한 문제가있는 [this] (http://stackoverflow.com/questions/7581963/read-stops-after-nul-character?rq=1)을 보여주었습니다 (파일 대신 소켓 연결.), 여기서 해상도는 pyscripter를 사용하지 않는 것이 었습니다. – Evert

답변

0

Evert가 내 질문에 언급했듯이이 문제는 Pyscripter의 사용에 초점을 맞추고 있습니다! 는 그래서,이 질문은 닫혀 :)

+0

화면에 있습니다 맞지 않을 것입니다 ... –

1

0과 같은 바이트를 읽으려면 파일이 바이너리 파일 일 가능성이 높습니다. 텍스트 모드 rt 대신 이진 모드 rb으로 읽습니다.

+1

'\ x00'은 파이썬 문자열 리터럴에서 NUL 바이트를 인코딩하는 방법입니다. 파일이 올바르게 읽혀 지므로 인쇄 방법을 살펴보십시오. – Kos

+0

무엇을하려고합니까? – Kos

+0

그러나 데이터의 13메가바이트는 내가 Pyscripter 팀에 문의하려고 어쨌든 – Kos

관련 문제