# `curses.ascii` — ASCII 문자용 유틸리티

`curses.ascii` 모듈은 ASCII 문자에 대한 이름 상수와 다양한 ASCII 문자 클래스에서 멤버십을 검사하는 함수를 제공합니다. 제공된 상수는 다음과 같이 제어 문자의 이름입니다:

이름 | 의미
--- | ---
`NUL` |
`SOH` | 헤딩의 시작(Start of heading), 콘솔 인터럽트
`STX` | 텍스트의 시작(Start of text)
`ETX` | 텍스트 끝(End of text)
`EOT` | 전송 끝(End of transmission)
`ENQ` | 문의(Enquiry), `ACK` 흐름 제어와 함께 제공
`ACK` | 확인(Acknowledgement)
`BEL` | 벨(Bell)
`BS` | 백스페이스(Backspace)
`TAB` | 탭(Tab)
`HT` | `TAB`의 별칭: “가로 탭(Horizontal tab)”
`LF` | 줄 바꿈(Line feed)
`NL` | `LF`의 별칭: “새 줄(New line)”
`VT` | 세로 탭(Vertical tab)
`FF` | 용지 공급(Form feed)
`CR` | 캐리지 리턴(Carriage return)
`SO` | 시프트 아웃(Shift-out), 대체 문자 집합 시작
`SI` | 시프트 인(Shift-in), 기본 문자 집합 재개
`DLE` | 데이터 링크 이스케이프(Data-link escape)
`DC1` | XON, 흐름 제어용
`DC2` | 장치 제어(Device control) 2, 블록 모드 흐름 제어
`DC3` | XOFF, 흐름 제어용
`DC4` | 장치 제어(Device control) 4
`NAK` | 부정적 확인(Negative acknowledgement)
`SYN` | 동기 대기(Synchronous idle)
`ETB` | 전송 블록 종료(End transmission block)
`CAN` | 취소(Cancel)
`EM` | 매체의 끝(End of medium)
`SUB` | 치환(Substitute)
`ESC` | 탈출(Escape)
`FS` | 파일 구분자(File separator)
`GS` | 그룹 구분자(Group separator)
`RS` | 레코드 구분자(Record separator), 블록 모드 종료자
`US` | 단위 구분자(Unit separator)
`SP` | 스페이스(Space)
`DEL` | 삭제(Delete)

이들 중 많은 것들이 현대적인 사용법에서 실질적인 중요성을 거의 가지고 있지 않습니다. 니모닉은 디지털 컴퓨터 이전의 텔레 프린터 규칙에서 파생되었습니다.

이 모듈은 표준 C 라이브러리의 함수에 따라 다음 함수를 제공합니다:

`curses.ascii.``isalnum`(c)

  ASCII 영숫자를 확인합니다; `isalpha(c) or isdigit(c)`와 동등합니다.

`curses.ascii.``isalpha`(c)

  ASCII 알파벳 문자를 확인합니다. `isupper(c) or islower(c)`와 동등합니다.

`curses.ascii.``isascii`(c)

  7비트 ASCII 집합에 맞는 문자 값을 확인합니다.

`curses.ascii.``isblank`(c)

  ASCII 공백 문자를 확인합니다; 스페이스나 가로 탭.

`curses.ascii.``iscntrl`(c)

  ASCII 제어 문자를 확인합니다 (0x00에서 0x1f 범위에 있거나 0x7f).

`curses.ascii.``isdigit`(c)

  ASCII 십진 숫자, `'0'` 에서 `'9'`를 확인합니다. 이것은 `c in string.digits`와 동등합니다.

`curses.ascii.``isgraph`(c)

  스페이스를 제외한 인쇄 가능한 ASCII 문자를 확인합니다.

`curses.ascii.``islower`(c)

  ASCII 소문자를 확인합니다.

`curses.ascii.``isprint`(c)

  스페이스를 포함하여 인쇄 가능한 ASCII 문자를 확인합니다.

`curses.ascii.``ispunct`(c)

  스페이스나 영숫자가 아닌 인쇄 가능한 ASCII 문자를 확인합니다.

`curses.ascii.``isspace`(c)

  ASCII 공백 문자를 확인합니다; 스페이스, 줄 바꿈, 캐리지 리턴, 용지 공급, 가로 탭, 세로 탭.

`curses.ascii.``isupper`(c)

  ASCII 대문자를 확인합니다.

`curses.ascii.``isxdigit`(c)

  ASCII 16진수를 확인합니다. 이것은 `c in string.hexdigits`와 동등합니다.

`curses.ascii.``isctrl`(c)

  ASCII 제어 문자를 확인합니다 (정숫값 0에서 31).

`curses.ascii.``ismeta`(c)

  비 ASCII 문자를 확인합니다 (0x80 이상의 정수 값).

이 함수는 정수나 단일 문자 문자열을 받아들입니다; 인자가 문자열이면, 내장 함수 `ord()`를 사용하여 먼저 변환됩니다.

이 모든 함수는 전달한 문자열의 문자에서 파생된 서수 비트 값을 확인합니다; 호스트 기계의 문자 인코딩에 대해서는 실제로 아무것도 모릅니다.

다음 두 함수는 단일 문자 문자열이나 정수 바이트 값을 취합니다; 이들은 같은 유형의 값을 반환합니다.

`curses.ascii.``ascii`(c)

  c의 하위 7비트에 해당하는 ASCII 값을 반환합니다.

`curses.ascii.``ctrl`(c)

  주어진 문자에 해당하는 제어 문자를 반환합니다 (문자 비트 값은 0x1f와 비트별 and 됩니다).

`curses.ascii.``alt`(c)

  주어진 ASCII 문자에 해당하는 8비트 문자를 반환합니다 (문자 비트 값은 0x80과 비트별 or 됩니다).

다음 함수는 단일 문자 문자열이나 정숫값을 취합니다; 문자열을 반환합니다.

`curses.ascii.``unctrl`(c)

  ASCII 문자 c의 문자열 표현을 반환합니다. c가 인쇄 가능하면, 이 문자열은 문자 자체입니다. 문자가 제어 문자(0x00–0x1f)이면 문자열은 캐럿(`'^'`)과 그 뒤에 오는 해당 대문자로 구성됩니다. 문자가 ASCII 삭제(0x7f)이면 문자열은 `'^?'`입니다. 문자에 메타 비트(0x80)가 설정되어 있으면, 메타 비트가 제거되고, 앞의 규칙을 적용한 후, `'!'`를 결과 앞에 붙입니다.

`curses.ascii.``controlnames`

  0(NUL)에서 0x1f(US)까지 32개의 ASCII 제어 문자에 대한 ASCII 니모닉과 (순서대로), 스페이스 문자를 위한 니모닉 `SP`를 포함하는 33요소 문자열 배열입니다.