2012-05-10 4 views
1

ASCII는 문자 용입니다. NULLNULL가 ASCII 값이 왜 0ASCII NULL 문자

+1

NUL없이 Null 종료 문자열을 구현할 수 없습니다. 그 맥락에서 그 사용은 * 센티넬 * 값입니다. –

답변

11

ASCII는 [인쇄] 문자 [S]

그렇진위한 다음, 문자되지 않습니다 : 추가하여 인쇄 문자도 ASCII 숫자 문자가 포함되어 있습니다.

ASCII 코드 0 (NUL)은 이러한 제어 문자 중 하나입니다.

Wikipedia 인용 : 원래 인쇄 정보를 표현하는 것이 아니라 (프린터와 같은) 장치를 제어 할 아니며 코드 :

ASCII 제어 문자에 대한 최초의 32 개 코드 (숫자 0-31 진수를) 보유 ASCII를 사용하거나 자기 테이프에 저장된 것과 같은 데이터 스트림에 대한 메타 정보를 제공합니다. 예를 들어, 문자 10은 "줄 바꿈"기능 (프린터가 용지를 넘길 수있게 함)을 나타내며 문자 8은 "백 스페이스"를 나타냅니다.

요즘 NUL 문자는 C에있는 문자열의 끝을 나타내는 데 가장 많이 사용됩니다. 원래의 목적은, 그러나, was different :이 문자의

원래 의미는 NOP 같았다 - 프린터 또는 터미널로 보내진 경우, 그것은 (일부 단말기는, 그러나, 잘못 공간으로 표시) 아무것도하지 않는다. 전기 기계식 텔레 프린터가 컴퓨터 출력 장치로 사용 된 경우 각 인쇄 된 라인의 끝에 하나 이상의 널 문자가 전송되어 메커니즘이 다음 라인의 첫 번째 인쇄 위치로 돌아갈 시간을 허용합니다. 펀치 테이프의 경우 문자는 전혀 구멍이없는 것으로 표시되므로 새 패치를 적용하지 않은 테이프는 처음에는 null 문자로 채워지며 새 문자를 테이프에 펀치하여 문자가 널 문자로 예약 된 공간에 "삽입"될 수 있습니다 nulls.

+0

죄송합니다, 귀하의 요점을 제대로 이해하지 못하고 있습니다. – Abhinav