알트 코드에서 넘어왔습니다.
알트 입력법
덤프버전 :
분류
1. 개요[편집]
Alt code
알트 키와 텐키를 이용하여 문자(특히 키보드에 없는 특수문자)를 입력하는 방식. 키보드에 할당되지 않은 문자를 입력하는 데 유용하며, 종종 유일한 방법이 된다. 영어로 ‘Alt code’라는 표현이 쓰이는데, 이 표현이 추상적인 문자 입력 방식 자체를 일컫는 것인지, 그 방식을 이용하기 위한 키 시퀀스를 일컫는 것인지 명확하지 않다. 문서를 만들어 설명할 만한 것은 전자이므로, 항목명을 “알트 입력법”으로 하였다.
2. 역사[편집]
이 기능은 IBM PC가 그 시초라고 한다.[1] IBM PC에서 알트 키를 누른 채로 십진법으로 숫자를 입력하면, 시스템 바이오스는 대응하는 코드를 키보드 버퍼에 넣는다. 다시 말하면, 이 바이오스로 문자를 입력받는 소프트웨어 입장에서는 어떤 키를 하나 띡 누른 결과 그 코드가 입력된 것인 양 인식한다. 따라서 소프트웨어는 이를 코드페이지에 따라 변환한 문자를 화면에 출력하는데, 이것이 알트 입력법의 기초가 되었다. 이 때 코드페이지는 다른 소프트웨어가 없는 한 하드웨어 코드페이지, 즉 다름아닌 코드페이지 437(아스키 코드가 아니다)이다. 이후 도스 등의 운영체제가 쓰이게 되면서 알트 입력법은 좀 더 대중화된다.
윈도우로 넘어오면서 코드페이지 Windows-1252(서유럽어) 등 이른바 ANSI 코드페이지들이 사용되기 시작했지만, 도스 시절의 코드값이 워낙 널리 알려진 탓에 알트 입력법에서만큼은 원칙적으로 옛날 코드페이지(즉 코드페이지 437)를 고수하게 된다. 그러나 위 ANSI 코드페이지나 유니코드를 이용한 입력 역시, 후술하듯 약간의 우회를 요하나, 허용하고 있다.
마이크로소프트 외의 운영체제 중, macOS에서는 Alt키 대신 존재하는 옵션키를 이용해 입력할 수 있다. 다만 이 문서에서 설명하는 알트 입력법은 아니고, 그냥 특수문자 키보드이다. 예를 들어서 두벌식 키보드 설정에서 Option + ㅁ 를 입력한다면 해당하는 알파벳인 a 가 입력된다. 다만 한글 키보드에서 이런 식으로 영문을 입력하다가 오타가 발생해 delete키(윈도우의 백스페이스키)를 눌러버릴 경우에는 한 문단이 통삭되어 버리는 단축키가 되니 주의 바람. 물론 이럴 경우 Command + Z 로 되돌리기가 가능하다.
영문 키보드에서 Option + a 를 누를 경우에는 å 가 입력되고, b의 경우 ∫ 가, c의 경우 ≈ 가 입력된다.
3. 사용법[편집]
알트 키를 누른 채로, 입력하려는 문자에 해당하는 값을 누른 다음, 알트 키에서 손을 떼면 된다.
예) [Alt]를 누른 채로, 숫자키패드[2] 의 [1] [3] [3]을 차례로 누른 다음, 알트키에서 손을 뗀다.
이렇게 하면 코드 133에 해당하는 문자가 나타나는데(한국어 운영체제에서는 말줄임표(…, U+2026)), 이를 줄여서 Alt+133과 같이 표기한다.‘해당하는 값’은 아스키 코드라고 흔히 잘못 알려져 있는데, 전술했듯 원칙적으로 현재 코드페이지에서의 값이고,[3] 유니코드를 이용하는 것도 가능하다.
어느 쪽을 이용 하느냐에 따라 입력방식이 다소 다르다.
3.1. 원칙적인 입력법(코드페이지 이용)[편집]
알트 키를 누른 채로, 입력하려는 문자에 해당하는 코드페이지에서의 값을 숫자키패드를 이용하여 10진법으로 입력한다.
코드페이지는 언어에 따라 다르다.
예) Alt+133 → … (U+2026)
3.1.1. 한국어 운영체제의 경우[편집]
한국어 윈도우의 경우 원칙적으로 코드페이지 949를 따른다. 코드페이지 949 일람[4] 그러나 일부 코드는 Windows-1252를 따른다. 구체적으로 아래와 같다.
- 0x00~0x1F는 다음 아홉 개 외에는 입력되지 않는다.
- 0x08, 0x09, 0x0A, 0x0D, 0x16, 0x1A, 0x1B, 0x1E, 0x1F.
- 0x80~0xFE는 Windows-1252를 따른다.[5] 따라서 후술하는 영어 운영체제의 경우에 0을 붙여야 하는 경우라도 0을 붙일 필요가 없다.
- 단, Windows 11, 22H2(22621) 이후 버전의 신규 IME부터는 CP437을 따른다, 0으로 시작해야 Windows-1252를 따름.
- 그런데 아래아한글에서는 왠지 0x89(‰, U+2030)와 0x91(‹, U+2039)이 각각 숫자 0과 9로 입력된다.
- 코드가 할당되지 않은 값을 입력한 경우
- 0x0100과 0x7FFF 사이의 값을 입력한 경우, 첫 바이트(16진수 두 자리)의 값에 따라 작동한다.
예) Alt+12345 = 0x3039 ⇒ 0x30 = 0
- 65535(0xFFFF)보다 큰 값을 입력한 경우, 65536(0x10000)으로 나눈 나머지(즉, 마지막 두 바이트)에 따라 작동한다.
예) Alt+123123 = 0x1E0F3 ⇒ 0xE0F3 = 姓[6]
- 위 두 가지 중 어느 하나에도 해당하지 않는 경우[7] 물음표(?, U+003F)가 입력되는 듯하다.
3.1.1.1. 예시[편집]
자세한 내용은 알트 입력법/예시 문서를 참고하십시오.
3.1.2. 영어 운영체제의 경우[편집]
영어 윈도우의 경우 원칙적으로 코드페이지 437(소위 OEM 코드페이지)를 따른다.
예) Alt+161 → í (Latin small letter I with acute, U+00ED)
- 다만, 0으로 시작하는 코드의 경우 Windows-1252(소위 ANSI 코드페이지)를 따른다. 링크 참조.
예) Alt+0161 → ¡ (Inverted exclamation mark, U+00A1)
3.2. 유니코드 이용 입력법[편집]
유니코드 번호는 16진법으로 되어 있으므로 이를 직접 계산하거나 이 링크와 같은 곳을 통해 10진수로 바꾼 다음 위 방법대로 하면 된다.
또는 엑셀에서 HEX2DEC 함수를 이용해도 된다. =HEX2DEC("14B") 의 값은 331.
이것이 번거롭다면 먼저 준비가 필요하다.
3.2.1. 사용 준비[편집]
시스템 레지스트리를 건드려야 한다. 익숙하지 않을 경우, 시도하지 않는 것을 권장한다.
- 실행(Win+R) 창에 regedit 입력. 레지스트리 편집기 창이 뜬다.
- HKEY\_CURRENT\_USER\\Control Panel\\Input Method 아래에 EnableHexNumpad라는 값을 REG_SZ 형식으로 새로 만든다. 가끔 키를 새로 만들라는 문서가 있는데, 잘못된 것이다. 키가 아니고 값이다. 참고로 폴더처럼 생긴 게 ‘키’, 파일처럼 생긴 게 ‘값’. 사실 편집(E)>새로 만들기(N)>문자열 값(S) 하면 된다.
- 값 데이터는 1을 넣는다.
- 로그오프한 후 다시 로그온한다. 혹은 재부팅한다.
3.2.2. 입력 방법[편집]
알트 키를 누른 채로 숫자키패드의 +버튼을 누른 다음 입력 하려는 문자의 유니코드 값을 16진법으로 입력한다.
예) Alt+\[+\]\[2\]\[0\]\[1\]\[3\] → – (En Dash, U+2013)
16진법으로 입력할 때에, 0~9의 자릿수는 숫자 키 패드로 입력하고 A~F의 자릿수는 대소문자 관계없이 일반 키보드로 입력하면 된다.
키 시퀀스를 나타내는 표준적인 표기법은 없는 듯하다.
3.2.3. 유용한 코드의 보기[편집]
4. 기타[편집]
ELECOM 사의 일부 외장형 텐키패드의 경우 텐키리스[9] 노트북과 함께 사용하기 위해 키가 눌리면 Num Lock을 켜고 뗄 때 끄는 방식을 사용하는데, 이렇게 되면 코드 입력 시퀀스 사이에 Num Lock 신호가 끼어들어서 코드를 제대로 입력할 수 없다. 예를 들어 Alt+177이라면 [Alt][1][7][7]순으로 입력되어야 하는데 [Alt][NumLock][1][NumLock][NumLock][7][NumLock][NumLock][7][NumLock] 순으로 입력되면서 의미없는 코드가 되는 것.
Alt 키와 숫자 키가 같은 키보드에 있어야 동작한다. 풀사이즈 키보드라면 큰 문제가 없지만, 텐키리스 키보드를 사용하는 경우 키보드 자체에서 리매핑을 지원하거나 텐키패드 쪽에 Alt 키가 없다면 사용할 수 없다.
Windows 11 OS 빌드 22621 이후 코드가 CP437(Code page 437)으로 변경되어 기존 알트 입력법/예시표를 활용할 때 주의가 필요하다. CP437 코드 기존 Windows-1252 기반 코드를 입력할 때는 영문 IME처럼 0으로 시작해야한다. (Alt+161 → Alt+0161)
이 문서의 내용 중 전체 또는 일부는 2023-12-08 04:26:13에 나무위키 알트 입력법 문서에서 가져왔습니다.
[1] http://en.wikipedia.org/wiki/Alt_code 참조.[2] 키보드의 숫자는 안 된다. 별도 키패드 값이어야 한다.[3] 물론 웬만한 코드페이지는 0x20~0x7E에서 아스키 코드와 일치한다.[4] 엑셀에서 CODE 함수를 사용하면 코드페이지 949에서의 코드값을 알 수 있다.[5] 참고로 코드페이지 949과 Windows-1252는 0x00~0x7F에서 일치한다. 궁극적으로는 0x00~0x7E에서 아스키 코드와 일치.[6] 링크 참조.[7] 예를 들어 65536으로 나눈 나머지가 0x{80~FF}{00~3F}인 코드 등.[8] < > 기호는 파일명 등에서 제한이 있으니, [ \]를 써서 일반 10진법 입력은 [ \], 유니코드 16진법 입력은 [+ \]와 같이 쓸 수도 있을 듯하다. 이에 따르면 '…'의 경우 Alt[133\]으로¸ '。'의 경우 Alt[+FF61\]으로 표기 가능하다.[9] 정확히는 Num Lock이 켜져 있으면 문자 입력부의 7, 8, 9열을 텐키로 사용하는 방식