[목차] == 개요 == {{{+1 Alt code}}} '''[[알트 키]]'''와 '''텐키'''를 이용하여 문자(특히 키보드에 없는 특수문자)를 입력하는 방식. [[키보드]]에 할당되지 않은 문자를 입력하는 데 유용하며, 종종 유일한 방법이 된다. 영어로 ‘Alt code’라는 표현이 쓰이는데, 이 표현이 추상적인 문자 입력 방식 자체를 일컫는 것인지, 그 방식을 이용하기 위한 키 시퀀스를 일컫는 것인지 명확하지 않다. 문서를 만들어 설명할 만한 것은 전자이므로, 항목명을 “알트 입력법”으로 하였다. == 역사 == 이 기능은 IBM PC가 그 시초라고 한다.[* [[http://en.wikipedia.org/wiki/Alt_code]] 참조.] IBM PC에서 [[알트 키]]를 누른 채로 십진법으로 숫자를 입력하면, 시스템 [[바이오스]]는 대응하는 코드를 [[키보드#s-2]] 버퍼에 넣는다. 다시 말하면, 이 바이오스로 문자를 입력받는 [[소프트웨어]] 입장에서는 어떤 키를 하나 띡 누른 결과 그 코드가 입력된 것인 양 인식한다. 따라서 소프트웨어는 이를 코드페이지에 따라 변환한 문자를 화면에 출력하는데, 이것이 알트 입력법의 기초가 되었다. 이 때 코드페이지는 다른 소프트웨어가 없는 한 하드웨어 코드페이지, 즉 다름아닌 코드페이지 437([[아스키 코드]]가 아니다)이다. 이후 [[도스]] 등의 [[운영체제]]가 쓰이게 되면서 알트 입력법은 좀 더 대중화된다. [[Microsoft Windows|윈도우]]로 넘어오면서 코드페이지 Windows-1252(서유럽어) 등 이른바 [[ANSI]] 코드페이지들이 사용되기 시작했지만, 도스 시절의 코드값이 워낙 널리 알려진 탓에 알트 입력법에서만큼은 원칙적으로 옛날 코드페이지(즉 코드페이지 437)를 고수하게 된다. 그러나 위 ANSI 코드페이지나 [[유니코드]]를 이용한 입력 역시, 후술하듯 약간의 우회를 요하나, 허용하고 있다. [[마이크로소프트]] 외의 운영체제 중, [[macOS]]에서는 Alt키 대신 존재하는 [[옵션]]키를 이용해 입력할 수 있다. 다만 이 문서에서 설명하는 알트 입력법은 아니고, 그냥 특수문자 키보드이다. 예를 들어서 두벌식 키보드 설정에서 '''Option + ㅁ''' 를 입력한다면 해당하는 알파벳인 '''a''' 가 입력된다. 다만 한글 키보드에서 이런 식으로 영문을 입력하다가 오타가 발생해 delete키(윈도우의 백스페이스키)를 눌러버릴 경우에는 '''한 문단이 통삭되어 버리는 단축키'''가 되니 주의 바람. 물론 이럴 경우 Command + Z 로 되돌리기가 가능하다. 영문 키보드에서 Option + a 를 누를 경우에는 å 가 입력되고, b의 경우 ∫ 가, c의 경우 ≈ 가 입력된다. == 사용법 == [[알트 키]]를 누른 '''채'''로, 입력하려는 문자에 '''해당하는 값'''을 누른 다음, 알트 키에서 손을 떼면 된다. 예) [Alt]를 누른 채로, 숫자키패드[* 키보드의 숫자는 안 된다. 별도 키패드 값이어야 한다.]의 [1] [3] [3]을 차례로 누른 다음, 알트키에서 손을 뗀다. 이렇게 하면 코드 133에 해당하는 문자가 나타나는데(한국어 운영체제에서는 [[말줄임표]](…, U+2026)), 이를 줄여서 '''Alt+133'''과 같이 표기한다. ‘해당하는 값’은 [[아스키 코드]]라고 흔히 잘못 알려져 있는데, 전술했듯 원칙적으로 현재 코드페이지에서의 값이고,[* 물론 웬만한 코드페이지는 0x20~0x7E에서 [[아스키 코드]]와 일치한다.] [[유니코드]]를 이용하는 것도 가능하다. 어느 쪽을 이용 하느냐에 따라 입력방식이 다소 다르다. === 원칙적인 입력법(코드페이지 이용) === [[알트 키]]를 누른 채로, 입력하려는 문자에 해당하는 코드페이지에서의 값을 '''숫자키패드'''를 이용하여 '''[[10진법]]으로''' 입력한다. 코드페이지는 언어에 따라 다르다. 예) Alt+133 → … (U+2026) ==== 한국어 운영체제의 경우 ==== [[한국어]] [[Microsoft Windows|윈도우]]의 경우 원칙적으로 [[CP949|코드페이지 949]]를 따른다. [[http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT|코드페이지 949 일람]][* [[Microsoft Excel|엑셀]]에서 CODE 함수를 사용하면 코드페이지 949에서의 코드값을 알 수 있다.] 그러나 일부 코드는 Windows-1252를 따른다. 구체적으로 아래와 같다. * 0x00~0x1F는 다음 아홉 개 외에는 입력되지 않는다. * 0x08, 0x09, 0x0A, 0x0D, 0x16, 0x1A, 0x1B, 0x1E, 0x1F. * 0x80~0xFE는 Windows-1252를 따른다.[* 참고로 코드페이지 949과 Windows-1252는 0x00~0x7F에서 일치한다. 궁극적으로는 0x00~0x7E에서 [[아스키 코드]]와 일치.] 따라서 후술하는 영어 운영체제의 경우에 0을 붙여야 하는 경우라도 0을 붙일 필요가 없다. * 단, [[Windows 11/버전/Sun Valley 2 |Windows 11, 22H2(22621)]] 이후 버전의 신규 IME부터는 CP437을 따른다, 0으로 시작해야 Windows-1252를 따름. * 그런데 아래아한글에서는 왠지 0x89(‰, U+2030)와 0x91(‹, U+2039)이 각각 숫자 0과 9로 입력된다. * 코드가 할당되지 않은 값을 입력한 경우 * 0x0100과 0x7FFF 사이의 값을 입력한 경우, 첫 '''바이트'''(16진수 두 자리)의 값에 따라 작동한다. 예) Alt+12345 = 0x'''30'''39 ⇒ 0x30 = 0 * 65535(0xFFFF)보다 큰 값을 입력한 경우, 65536(0x10000)으로 나눈 나머지(즉, 마지막 두 바이트)에 따라 작동한다. 예) Alt+123123 = 0x1'''E0F3''' ⇒ 0xE0F3 = 姓[* [[http://tooecc.tistory.com/51|링크]] 참조.] * 위 두 가지 중 어느 하나에도 해당하지 않는 경우[* 예를 들어 65536으로 나눈 나머지가 0x{80~FF}{00~3F}인 코드 등.] 물음표(?, U+003F)가 입력되는 듯하다. ===== [[알트 입력법/예시|예시]] ===== [include(틀:상세 내용, 문서명=알트 입력법/예시)] ==== 영어 운영체제의 경우 ==== [[영어]] [[Microsoft Windows|윈도우]]의 경우 원칙적으로 코드페이지 437(소위 OEM 코드페이지)를 따른다. 예) Alt+161 → í (Latin small letter I with acute, U+00ED) * 다만, 0으로 시작하는 코드의 경우 Windows-1252(소위 ANSI 코드페이지)를 따른다. [[http://web.archive.org/web/20080821165604/http://tlt.psu.edu/suggestions/international/accents/codealt.html|링크]] 참조. 예) Alt+0161 → ¡ (Inverted exclamation mark, U+00A1) === [[유니코드]] 이용 입력법 === 유니코드 번호는 16진법으로 되어 있으므로 이를 직접 계산하거나 [[https://ko.calcuworld.com/수학/16진법-계산기/|이 링크]]와 같은 곳을 통해 10진수로 바꾼 다음 위 방법대로 하면 된다. 또는 엑셀에서 HEX2DEC 함수를 이용해도 된다. =HEX2DEC("14B") 의 값은 331. 이것이 번거롭다면 먼저 준비가 필요하다. ==== 사용 준비 ==== 시스템 [[레지스트리]]를 건드려야 한다. 익숙하지 않을 경우, 시도하지 않는 것을 권장한다. * 실행(Win+R) 창에 regedit 입력. 레지스트리 편집기 창이 뜬다. * HKEY\_CURRENT\_USER\\Control Panel\\Input Method 아래에 EnableHexNumpad라는 '''값'''을 REG_SZ 형식으로 새로 만든다. 가끔 '''키'''를 새로 만들라는 문서가 있는데, 잘못된 것이다. 키가 아니고 값이다. 참고로 폴더처럼 생긴 게 ‘키’, 파일처럼 생긴 게 ‘값’. 사실 '''편집(E)>새로 만들기(N)>문자열 값(S)''' 하면 된다. * 값 데이터는 1을 넣는다. * 로그오프한 후 다시 로그온한다. 혹은 재부팅한다. ==== 입력 방법 ==== [[알트 키]]를 누른 채로 숫자키패드의 +버튼을 누른 다음 입력 하려는 문자의 [[유니코드]] 값을 '''[[16진법]]으로''' 입력한다. 예) Alt+\[+\]\[2\]\[0\]\[1\]\[3\] → – (En Dash, U+2013) 16진법으로 입력할 때에, 0~9의 자릿수는 '''숫자 키 패드'''로 입력하고 A~F의 자릿수는 대소문자 관계없이 일반 키보드로 입력하면 된다. 키 시퀀스를 나타내는 표준적인 표기법은 없는 듯하다.~~Alt++2013으로 적긴 뭣하고~~ --[[C++]]?-- 아래에서는 Alt+\[+\]2013과 같이 표기한다.[* < > 기호는 파일명 등에서 제한이 있으니, [ \]를 써서 일반 10진법 입력은 [ \], 유니코드 16진법 입력은 [+ \]와 같이 쓸 수도 있을 듯하다. 이에 따르면 '…'의 경우 Alt[133\]으로¸ '。'의 경우 Alt[+FF61\]으로 표기 가능하다.] ==== 유용한 코드의 보기 ==== ||<:>문자||<:>코드||<:>다른 입력법||<:>사용처|| ||<:>ŋ||Alt+\[+\]14B||<:>ㄲ+한자+PgDn×2+8||<|6> [[국제음성기호]] || ||<:>Ŋ||Alt+\[+\]14A||<:>ㄲ+한자+PgDn+2|| ||<:>œ||Alt+\[+\]153||<:>ㄲ+한자+PgDn×2+4|| ||<:>ʃ||Alt+\[+\]283||<:><|3>-|| ||<:>ʒ||Alt+\[+\]292|| ||<:>ː||Alt+\[+\]2D0|| ||<:>–[br]([[붙임표|En dash]])||Alt+\[+\]2013||<:><|2>-||<|2> [[문장부호]] || ||<:>—[br]([[줄표|Em dash]])||Alt+\[+\]2014|| ||<:>‱[br](퍼밀리아드[br]([math(×1/10000)]))||Alt+\[+\]2031|| - || 수학 기호 || ||<:>~~[[좆|奀]]~~[br]~~([[파리할 망]])~~||~~Alt+[+\]5940~~|| - || [[야민정음#s-4.5|한자]] || == 기타 == ELECOM 사의 일부 외장형 텐키패드의 경우 텐키리스[* 정확히는 [[Num Lock]]이 켜져 있으면 문자 입력부의 7, 8, 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)으로 변경되어 기존 [[알트 입력법/예시]]표를 활용할 때 주의가 필요하다. [[https://en.wikipedia.org/wiki/Code_page_437#Character_set|CP437 코드]] 기존 Windows-1252 기반 코드를 입력할 때는 영문 IME처럼 0으로 시작해야한다. (Alt+161 → Alt+0161) [[분류:문자 전산 처리]]