2011-08-12 4 views
0

enter image description here왜이 두 텍스트 파일의 차이점은 무엇입니까?

우리는 새로운 아키텍처로 이전하고 오래된 응용 프로그램과 같았습니다. 메모장에 표시된 두 파일은 DAT 파일입니다. 첫 번째 파일은 이전 응용 프로그램에서 만들었습니다. 두 번째 것은 "새로운 구현"에 의해 만들어졌습니다.

새로운 구현의 작은 역사 : 이러한 응용 프로그램 ("새 구현"에서)은 웹 팜 환경에서 호스팅되어야합니다. 급여이라는 특정 응용 프로그램이 있습니다.이 응용 프로그램은 아래 표시된 파일을 생성합니다. Visual Studio의 사전 처리 된 텍스트 템플릿을 사용하여 DAT 파일을 생성했습니다. 당시 웹 서비스는 전혀 없었습니다. 그러나 나중에 우리는 그러한 파일의 생성이 중앙 집중화되어야한다고 결정했습니다.

그래서 우리는 이것을하기 위해 웹 서비스를 노출했습니다.

기본적으로 논리에는 변화가 없습니다. 나는 여전히 사전 처리 된 템플릿을 사용했다. 그러나이 템플릿의 출력은 웹을 통해 웹 서비스로 전송되었습니다. 그런 다음 두 번째 이미지에 표시된 것과 같은 파일이 나타납니다.

집중화하기 전에 문제가 없었습니다. 그래서 여기서 무슨 일이 일어 났습니까? 새 구현에서 DAT 파일을 이전 버전과 동일하게 보이게하려면 어떻게해야합니까?

+0

16 진수 편집기에서이 파일들을 보려고 했습니까? –

+0

보낸 사람과받는 사람이 문자 세트가 다르기 때문에 줄 바꿈을 작은 상자로 렌더링합니다. 또한 Edward는 그의 이름을 Christopher로 바 꾸었습니다. – ninetwozero

+0

하하, Christopher가 슈퍼 히어로 이름이기 때문입니다. D – Kheldar

답변

0

이것은 캐리지 리턴 문제처럼 보입니다. 웹 서비스는 유닉스 스타일 라인 피드를 가진 유닉스 서버를 사용하고, 다른 파일은 윈도우에서 가져온 것일까? 이 경우, endline을 CRLF로 변경하면됩니다.

유닉스 시스템은 LF (0x0A)를 사용하는데, Windows 시스템에서 LF (0x0A)와 함께 CR (0x0D)이 필요하면 LF를 CRLF로 바꾸십시오.

+0

나는 이것이 더 도움이된다고 생각합니다 : 이전에 나는 하나의 긴 문자열 . 그런 다음 해당 매개 변수를 바이트 배열로 변경했습니다. 문자열을 ASCII 인코딩 된 바이트 배열로 변환해야합니다. 적어도 와이어 (특히 CR 및 LF)를 통과하는 데이터를 보존합니다. – deostroll

3

하나는 아마도 \r\n

다른 하나는 아마 캐리지 리턴 짧은 LF = \n

CR을 사용 = CR LF 사용합니다.

LF 짧은 줄 바꿈.

관련 문제