• logo

      SeolMyeongTang

  • CRLF vs LF

    2024년 8월 15일
    • CR
      • Carriage Return \r
      • 줄의 시작 위치(= 커서가 줄의 시작에 위치)
      • 타자기에서 줄 제일 앞쪽으로 이동
    • LF
      • Line Feed \n
      • 줄의 시작 위치에 있지 않고 다음 줄 위치, 단순히 다음 줄로 이동(=커서가 다음 줄에 위치)
      • 타자기에서 커서는 그대로 있고 종이만 올린다
    • CRLF
      • 줄 바꿈을 하면 CR + LF가 합쳐진 것이다 = 줄 시작 위치로 이동하고 아랫줄로 이동
      • CR + LF이므로 2바이트를 차지한다
    • 왜 Windows는 바이트를 더 차지하는 CRLF 방식을 채택했을까?
      • 초기 컴퓨터도 타자기(teletype)으로부터 진화한 형태라 CRLF 방식을 채택하는 것이 자연스러웠을 것이다
      • stackoverflow를 참고해보면, CRLF 방식으로 파일을 작성하면 별도의 프린터 드라이버 없이 바로 사용할 수 있어서라고 한다
    • Linux는 왜 LF 방식을 채택했을까?
      • Linux는 Unix와 그보다 선배인 Multics의 후손인데 Multics 개발자들이 파일 줄 끝 처리를 LF로 해서 해당 방식을 그대로 쓴 거 같다
      • 참고
    • 맥은 Mac OS X 10.0 이전에는 CR 방식을 사용하다가 이후에는 LF 방식으로 바꾸었다고 한다
    • 왜 아직도 윈도우는 CRLF 방식을 고집할까?
      • 현대에 들어서 CRLF는 LF보다 비효율적인 방식으로 비추어지지만 오랫동안 잘 돌아가고 있는 시스템을 굳이 고치지 않는 방식을 택한게 아닐지?