Windows에서 생성된 텍스트 파일은 각 줄 끝에 `^M`으로 끝납니다.

Windows에서 생성된 텍스트 파일은 각 줄 끝에 `^M`으로 끝납니다.

유닉스에서 Windows 메모장으로 만든 텍스트 파일을 열면 ^M어딘가에 새 줄이 있다는 것을 알 수 있는 이유가 무엇인지 알고 싶습니다.

제가 이해한 바에 따르면 Windows에서는 각 줄이 \r\nASCII 로 0x0D0A끝나고 ^MASCII 값이 있습니다 0x5E4D. 두 개를 연결할 수 없습니다.

답변1

줄 끝이 중요하다는 말이 맞습니다. 두 운영 체제 모두 줄이 "\n"으로 끝날 것으로 예상하지만 Windows도 줄 앞에 "\r"을 추가하고 유닉스는 이를 기대하지 않습니다. 프로그램은 자신만의 방식으로 "\r"을 출력합니다.

파일은 실제로 "^" 및 "M" 문자로 끝나지 않으며 인쇄할 수 없는 문자를 나타내는 일반적인 방법일 뿐입니다. 프로그램은 A와 1로 시작하여 "^"와 해당 바이트 값에 해당하는 문자를 출력합니다. M은 13번째 문자이고 '\r'은 ASCII 코드 13(또는 말한 대로 0xD)이므로 "^"m"이 표시됩니다.

관련 정보