====== ISO/IEC 646 ====== 7[[비트]] [[문자집합]]을 정의하는 [[ISO표준]]. 정식 표준 번호는 **ISO/IEC 646:1991**이며, [[ECMA]]-6으로도 표준화되어 있다. 사실 [[주객전도]]인게, 이 표준은 1965년(([[Ecma인터내셔널]]은 **1961년**에 설립되었다는 걸 기억하자.)) ECMA-6으로 먼저 표준화된 뒤에 나중에야 ISO 646:1983로 국제 표준이 되었다. 본래는 [[ASCII]](ANSI X3.4)에서 유래하였으며, ASCII에서 특수 문자를 각 [[언어]]의 필요에 맞도록 재정의하도록 하여 수십 개의 국가별 변종(national variant)을 사용할 수 있도록 하였다. 이를테면 ISO/IEC 646 US는 ASCII와 동일하며, ISO/IEC 646 KR은 [[KS X 1003]], ISO/IEC 646 JP는 [[JIS X 0201]]의 첫 7비트 영역과 동일하다. ''#$@[\]^`{|}~''를 제외한 다른 문자는 어느 변종에서도 똑갈이 할당되었기에 ISO/IEC 646 INV("invariant")로 지칭되었다. ISO/IEC 646의 가장 큰 문제는 ASCII에는 있지만 ISO/IEC 646 INV에 없는 문자들이 상당히 자주 쓰였다는 것으로, 이를테면 [[ISO C]] 표준화 과정에서는 정확히 이 이유 때문에 [[C의이중자와삼중자|삼중자]](trigraph)를 추가하는 [[병크]]짓[[삽질]]을 저지르고 만다. 덕택에 7비트 영역의 변경이 필요하지 않은 8비트 문자 집합인 [[ISO IEC 8859]]가 등장하며 ISO/IEC 646은 역사 속으로 사라진다. 그러나 ISO/IEC 646이 문자 집합에 대한 최초의 국제 표준이라는 의의는 있으며, [[유니코드]]의 ISO 표준 번호인 ISO/IEC 10646도 여기서 유래한다. ===== 포함된 문자들 ===== ISO/IEC 646에서 유래한 문자 집합이 항상 포함해야 하는 변경 불가능(invariant)한 문자들은 ISO/IEC 646 INV라는 이름으로 따로 부르며, 당연하지만 여기 들어 있는 문자는 [[ASCII]]와 정확히 동일하다. ^ ^ ''x0'' ^ ''x1'' ^ ''x2'' ^ ''x3'' ^ ''x4'' ^ ''x5'' ^ ''x6'' ^ ''x7'' ^ ''x8'' ^ ''x9'' ^ ''xA'' ^ ''xB'' ^ ''xC'' ^ ''xD'' ^ ''xE'' ^ ''xF'' ^ | **''0x''** | //[[널문자|NUL]]// | //SOH// | //STX// | //ETX// | //EOT// | //ENQ// | //ACK// | //BEL// | //[[백스페이스|BS]]// | //[[탭|HT]]// | //LF// | //VT// | //FF// | //CR// | //SO// | //SI// | | **''1x''** | //DLE// | //DC1// | //DC2// | //DC3// | //DC4// | //NAK// | //SYN// | //ETB// | //CAN// | //EM// | //SUB// | //[[탈출문자|ESC]]// | //FS// | //GS// | //RS// | //US// | | **''2x''** | //[[공백|SP]]// | ''[[느낌표|!]]'' | ''[[따옴표|"]]'' | | | ''[[퍼센트기호|%]]'' | ''[[앰퍼센드|&]]'' | ''[[따옴표|']]'' | ''[[괄호|(]]'' | ''[[괄호|)]]'' | ''[[별표|*]]'' | ''[[더하기기호|+]]'' | ''[[쉼표|,]]'' | ''[[하이픈마이너스|-]]'' | ''[[마침표|.]]'' | ''[[슬래시|/]]'' | | **''3x''** | ''0'' | ''1'' | ''2'' | ''3'' | ''4'' | ''5'' | ''6'' | ''7'' | ''8'' | ''9'' | ''[[쌍점|:]]'' | ''[[쌍반점|;]]'' | ''[[괄호|<]]'' | ''[[등호|=]]'' | ''[[괄호|>]]'' | ''[[물음표|?]]'' | | **''4x''** | | ''A'' | ''B'' | ''C'' | ''D'' | ''E'' | ''F'' | ''G'' | ''H'' | ''I'' | ''J'' | ''K'' | ''L'' | ''M'' | ''N'' | ''O'' | | **''5x''** | ''P'' | ''Q'' | ''R'' | ''S'' | ''T'' | ''U'' | ''V'' | ''W'' | ''X'' | ''Y'' | ''Z'' | | | | | ''[[밑줄문자|_]]'' | | **''6x''** | | ''a'' | ''b'' | ''c'' | ''d'' | ''e'' | ''f'' | ''g'' | ''h'' | ''i'' | ''j'' | ''k'' | ''l'' | ''m'' | ''n'' | ''o'' | | **''7x''** | ''p'' | ''q'' | ''r'' | ''s'' | ''t'' | ''u'' | ''v'' | ''w'' | ''x'' | ''y'' | ''z'' | | | | | //DEL// | 비어 있는 공간들은 각국이 필요로 하는 문자들을 채워 넣을 수 있도록 하였으며, 그 사용 용도는 크게 다음과 같이 나뉜다. * 각국의 [[통화기호]]는 ''#'', ''$'' 또는 ''\'' 문자를 대체하고 들어 갔다. 대표적인 사용례로 각각 ''[[GBP|£]]''([[영국|GB]]), ''¤''([[T.61]]; [[텔레텍스]] 문자 집합), 그리고 다들 저주해 마지 않는 ''[[KRW|₩]]''([[대한민국|KR]])과 ''[[JPY|¥]]''([[일본|JP]])이 있다. * 비어 있는 대부분의 자리에는 각 언어에서 사용하는 추가적인 [[확장로마자]]들이 들어 갔다. 예를 들어서 [[ASCII]]의 역사에서 알 수 있듯 ''à''를 사용하는 언어는 ''@'' 자리에 이 문자를 배당했다. 공간의 제약 때문에 몇몇 경우에는 소문자만 들어 있는 경우도 있다.((아예 대문자가 하나도 없는 경우도 있으며, [[독일|DE]]와 같이 대문자로 잘 쓰이지 않는 ''ß''에만 대문자를 배당하지 않은 경우도 있다.)) * 많은 경우 ''"'', ''%%'%%'', ''`''와 같은 문자들을 재활용, [[발음변경문자]]로도 쓰일 수 있게 허용하였다. ([[백스페이스]]로 글자를 덮어 쓸 것을 염두에 둔 것이다.) ''~''의 경우 언어에 따라서는 ''¯''나 ''¨'' 등으로 바뀌는 경우도 있었다. 기존의 [[ASCII]]는 이 표준 하에서는 ISO/IEC 646 US라는 이름을 사용한다. 이와는 별개로 문자 집합이 완전히 같은데 특수 문자를 발음 변경 문자로 쓸 수 있게만 한 국제 참조 변종(International Reference Variant; IRV)이 존재한다. ===== 관련된 문자 집합 ===== 다음 문자 집합은 사실상 ISO/IEC 646을 기반으로 정의되어 있다. * [[ASCII]] = ISO/IEC 646 US ≈ ISO/IEC 646 IRV * [[KS X 1003]] = ISO/IEC 646 KR * [[JIS X 0201]]의 GL(0x20~0x7E) 부분 = ISO/IEC 646 JP {{tag>문자집합}}