Aplikacja Java wysyła XML do aplikacji Python. Oboje znajdują się na tej samej maszynie. Po otwarciu otrzymanego pliku widzę dodatkowe linie (z powodu dodatkowych CR). Co mogłoby być tego przyczyną?Python dodaje dodatkową CR na końcu odebranych linii
Jest to odbiornik:
f = open('c:/python/python.xml', 'w')
while 1:
print("xxx")
data = socket.recv(recv_frame)
remain_byte = remain_byte - len(data)
print(remain_byte)
f.write(data)
if (something):
break
To nadawca:
while ((bytesRead = file_inp.read(buffer)) > 0) {
output_local.write(buffer, 0, bytesRead);
}
Oryginalny plik:
<root><CR><LF>
<SONG><CR><LF>
<ARTIST>Coldplay</ARTIST><CR><LF>
</SONG><CR><LF>
</root><CR><LF>
To jest odbierany:
<root><CR>
<CR><LF>
<SONG><CR>
<CR><LF>
<ARTIST>Coldplay</ARTIST><CR>
<CR><LF>
</SONG><CR>
<CR><LF>
</root><CR>
<CR><LF>
Jakim systemem operacyjnym są uruchomione aplikacje? Czy to okna? – gbulmer
to system Windows 7. – markAnthopins
Szukasz pliku "c: /python/python.xml"? W oknach niektóre biblioteki C obsługują przetwarzanie powrotne/line-feed, aby pliki UNIX były kompatybilne z plikami Windows. Unix używa tylko jednego znaku do separacji linii (\ n), ale Windows używa cr + lf. Jest więc możliwe, że dwa zestawy przetwarzania (Java i Python) rozszerzają jeden separator linii na dwa, – gbulmer