기글 하드웨어 질문 게시판
구글 검색 중 발견했는데 MS-DOS는 33개의 제어문자중 7개 밖에 사용하지 않는다고 합니다. 그렇다면 아마도 윈도우도 그럴 것 같고. 사용되지 않는다는 제어문자가 많은데 dos에서부터 사장될 정도면 다른 운영체제에서도 비슷하지 않을까 짐작만 해봅니다. 그리고 추가로 찾아보니 제어문자를 마크업 언어로 대신한다고 하네요. 리눅스나 OS X 등은 어떤지 궁금합니다.
----
미국정보교환표준부호(American Standard Code for Information Interchange; ASCII)는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다.
아스키는 1967년에 표준으로 제정되어 1986년에 마지막으로 개정되었다. 아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어진다. 제어 문자들은 역사적인 이유로 남아 있으며 대부분은 더 이상 사용되지 않는다. 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어진다.
MS-DOS는 제어 문자들 중에서 현재 사용되지 않는 문자에 대해 특수 문자를 배정해서 사용합니다.
그러나, 이들 문자는 콘솔에서만 볼 수 있고, 일반 편집기(메모장, 한글, MS-WORD)에서는 전부 깨집니다.
"MS-DOS" 항목에 있는 문자들은 2바이트 특수 문자에 있는 문자들 중에서 골랐습니다.
비어있는 칸은 여전히 제어 문자로 사용하는 문자이고,
물음표(?)는 똑같은 문자가 없거나 아예 비슷한 문자도 없다는 뜻입니다.
출처 - www.printf.co.kr 이미지가 작게 보이는데 클릭하면 커집니다.
도스에서는 CR 과 LF 두 가지 다 연속으로 쓰여야만 완전한 줄바꿈이 이뤄지고요. 윈도우의 텍스트 에디터도 마찬가지.
유닉스 계열에서는 CR 하나만으로 줄바꿈이 이뤄지게 되어 있죠.
원래 아스키코드 의미로는 도스 식으로 되어야 맞는데, 호환을 안 지킬거 같은 도스는 잘 지키고, 잘 지킬거 같은 유닉스는 안 지키는 이상한 상황 ?
하여튼 위 문제는 컴퓨터 역사 탐구(?) 문제가 되어버리는거라서.. ^^;
carriage 라는게 타자기의 종이 고정 드럼이죠. CR (carriage return) 은 이 종이 고정 드럼을 처음 시작 위치로 옮기는 것을 말하고요.
LF (line feed) 는 말 그대로 줄을 바꾸는 것.
CR 만 하면 종이 고정 드럼을 시작 위치로 옮기기만 하는거니 그 상태에서 계속 타이프하면 아까 썼든 줄 위에 겹쳐쓰기가 되는 것이고, LF 까지 해야 새로운 줄 왼쪽 처음부터 타이프가 가능.
[리눅스나 OS X 등은 어떤지 궁금합니다] -- 이 문구가 질문 내용이겠죠 ?
기본적으로 아스키코드는 통신을 위한 표준 규격입니다. 최초의 필요는 문자를 표현하는데 같은 코드를 쓰기 위한 것이었고요. 놀랍게도 알파벳 몇 개 안 되는 영문도 처음에는 메이커마다 심지어 기종마다 코드가 달랐습니다.
문자 코드 일치시키고 난 다음 필요가 제기된 것이 통신을 위한 것이고요. 여기서 말하는 통신은 PC 끼리 통신 뭐 그런 것이 아니라, 주로 대형 컴퓨터와 단말기(콘솔) 사이 통신을 말하는 겁니다.
텍스트 문자 기반으로 대형 컴퓨터와 단말 사이 통신을 위한 표준 규격이고, 조금 더 고급스러운 단말기를 위해 제어문자를 좀 더 고도화시킨 것이 ANSI 표준이 쓰였고, 옛날 텍스트 기반 PC 통신에서 많이 쓰였었죠.
위에서 유추하실 수 있겠지만, 원래부터 OS 나 컴퓨터/단말기 기종과는 관계없이 쓰일 수 있도록 한 것이니 질문 내용 자체가 핀트가 어긋났다 할 수 있습니다.
윈도우, 리눅스, OS X 등등 어떤 OS 이든 모두 다 똑 같다고 보셔도 됩니다. 용도에 따라 어느 범위의 제어문자까지 쓸 것이냐가 결정된다고 보셔도 되죠.