{{위키데이터 속성 추적}}
{{DISPLAYTITLE:Shift_JIS}}
{{infobox character encoding
| name = Shift JIS
| mime = Shift_JIS
| alias = 
| standard = JIS X 0208:1997 부록 1
| lang = 주로 [[일본어]]이지만 [[영어]], [[러시아어]]도 지원
| status =
| prev = 
| extends = [[JIS X 0201]] 8비트 포맷
| encodes = [[JIS X 0208]]
| next = Shift_JIS-2004 (JIS)<br />[[Windows-31J]] (웹; <small>매우 드물게 사용</small><!-- 0.0014% use on websites, and almost all websites that use it are Japanese language.-->)
| classification = [[EASCII|확장형]] [[ISO 646]],{{efn|Not in the strictest sense of the term, as ASCII bytes can appear as trail bytes.}} [[가변 너비 인코딩]], [[CJK|CJK 인코딩]]
| extra = <div style="text-align: left;">{{notelist}}</div>
}}
[[파일:Shiftjis-map.png|frame|right|그림으로 나타낸 Shift_JIS 인코딩의 구조]]

'''Shift_JIS''' 또는 '''Shift-JIS'''는 [[JIS X 0201]]과 [[JIS X 0208]] 등을 사용하는 [[일본어]] [[문자 인코딩]]이며, 보통 '''SJIS'''로 줄여 부른다. [[1982년]]에 [[일본]]의 여러 업체들이 중심이 되어 개발했으나, 나중에 일본 안에서 널리 쓰이게 되자 JIS X 0208:1997의 부속서 1로 표준화되었다.

== 역사 ==

[[1980년대]] 이전의 컴퓨터에서는 JIS X 0201을 사용한 인코딩이 주로 사용되었다. 즉, 32부터 127까지의 바이트(GL)에는 영문자를, 160부터 255까지의 바이트(GR)에는 [[가타카나]]를 배당한 것이다. 시간이 지나면서 한자를 표시할 수 있는 하드웨어가 등장했고 그에 맞는 문자 인코딩이 필요해졌으나, 이미 널리 사용되는 인코딩에서 GR을 사용하고 있었기 때문에 [[ISO/IEC 2022]]의 확장 방법으로는 하위 호환성을 유지하면서 JIS X 0208을 지원할 수 없었다. Shift_JIS는 이전 인코딩과의 호환을 위해 JIS X 0208에서 사용하고 있지 않던 영역(0x81~0x9F, 0xE0~0xEF)에 JIS X 0208을 별도의 계산 과정으로 할당하는 방법을 썼다. 또한 두 번째 바이트를 128 이상으로 제한할 경우 JIS X 0208의 모든 문자를 대응시킬 수 없었기 때문에, 두 번째 바이트에 128보다 작은 바이트도 사용할 필요가 있었다.

Shift_JIS를 개발한 업체들에 대해서는 몇 가지 설이 있다. 일본 마이크로소프트 전 회장인 [[후루카와 토오루]]({{lang|ja|古川享}})에 따르면 [[주식회사 아스키|아스키]], [[마이크로소프트]], [[미쓰비시 전기]], 마이크로소프트웨어 어소시에이트, [[디지털 리서치]]가 관련되었으며, 특히 아스키의 야마시타 료조({{lang|ja|山下良蔵}})가 중심이 되어 만들어졌다고 하지만, [[교토 대학]] 조교수인 야스오카 코이치({{lang|ja|安岡孝一}})는 마이크로소프트웨어 어소시에이트와 미쓰비시 전기만이 관련되었다고 주장하고 있다.<ref>[http://slashdot.jp/~yasuoka/journal/334730 일본 슬래시닷의 글]을 참고하라. 그에 따르면 이런 주장이 마이크로소프트웨어 어소시에이트가 아스키와 마이크로소프트의 자회사로 설립되었기 때문에 일어난 오해라고 한다.</ref> 개발 주체와는 별개로, [[마이크로소프트]] 등의 회사들이 얼마 지나지 않아 자신들의 제품에서 Shift_JIS를 지원했던 것은 사실이다.

JIS X 0208에 비어 있는 영역이 꽤 있고, Shift_JIS 자체에도 0xF0부터 0xFF까지의 첫 바이트에는 아무 글자도 할당되어 있지 않았기 때문에 다양한 확장들이 만들어졌다. 예를 들어, 이 확장들 중 가장 많이 쓰이는 마이크로소프트의 [[코드 페이지 932]](엄밀하게는 Windows-31J)는 JIS X 0208의 확장이며, 일본 [[휴대폰]] 업체들은 [[전자 메일]]에서 사용하기 위해 여러 그림 문자를 0xF3부터 0xF9까지의 영역에 할당해서 쓰고 있다. 이러한 확장들은 대부분 확장된 영역에서 서로 호환되지 않으며 [[IANA]]에도 등록되어 있지 않은 것이 많아 혼동을 주곤 한다.

본래는 [[일본 산업 규격]]과는 상관 없이 만들어진 인코딩이지만, Shift_JIS가 많이 쓰이게 되면서 사실상의 표준이 되었기 때문에 [[1997년]]판부터는 부속서 1에 ‘시프트 부호화 표현({{lang|ja|シフト符号化表現}})’로 이 인코딩을 설명하고 있다. 여기에도 몇 가지 확장이 있는데, [[2000년]]에 제정된 [[JIS X 0213]]을 반영한 '''Shift_JISX0213'''과, JIS X 0213이 [[2004년]]에 개정되면서 이를 반영한 '''Shift_JIS-2004'''가 있다.

== 구성 ==

Shift_JIS는 JIS X 0201을 기반으로, 사용되지 않는 두 영역에 JIS X 0208을 간단한 계산으로 다음과 같이 잘라 넣는다.
# 행 번호에 0xE1(0x60행 이하) 또는 0x161(0x61행 이상)을 더한다. 이 값을 2로 나눈 몫을 첫 번째 바이트로 한다.
# 1에서 나온 값이 짝수인가 홀수인가에 따라, 열 번호에 0x1F(홀수)나 0x7D(짝수)를 더한다.
# 2에서 나온 값이 0x7F보다 크거나 같으면 1을 더해 두 번째 바이트로 하고, 아니면 그 값을 그대로 두 번째 바이트로 한다.

이렇게 해서 계산된 첫 번째 바이트는 0x81부터 0x9F까지와 0xE0부터 0xEF까지이고, 두 번째 바이트는 0x40부터 0x7E까지와 0x80부터 0xFC까지가 된다. 두 번째 바이트의 최상위 비트가 설정되지 않을 수도 있기 때문에 Shift_JIS 인코딩을 인식하는 것은 쉽지 않을 수 있다. 또한 두 번째 바이트에는 [[역슬래시]](\, 0x5C)가 포함되기 때문에 Shift_JIS를 사용하는 시스템에서 압축한 [[ZIP]] 파일을 다른 시스템에서 풀 수 없는 경우도 생긴다.

== 같이 보기 ==
* [[코드 페이지 932]](Windows-31J) - 가장 많이 쓰이는 Shift_JIS의 확장
* [[EUC-JP]]

== 참조 ==
<references/>

== 외부 링크 ==
* {{언어링크|en}} [https://web.archive.org/web/20060805210427/http://lfw.org/text/jp.html 일본어 텍스트 인코딩 (Ka-Ping Yee)]
* {{언어링크|en}} [https://web.archive.org/web/20070114165313/http://www.rikai.com/library/kanjitables/kanji_codes.sjis.shtml JIS X 0201 부분을 뺀 Shift_JIS 변환표]
* {{언어링크|ja}} [https://web.archive.org/web/20060620034952/http://www.page.sannet.ne.jp/mtoga/etc/cpu/bih-g_cj.htm Shift_JIS 전각 문자]
* {{언어링크|ja}} [https://web.archive.org/web/20060911104158/http://www.page.sannet.ne.jp/mtoga/etc/cpu/bih-g_ck.htm Shift_JIS 제 1수준 한자]
* {{언어링크|ja}} [https://web.archive.org/web/20060620035005/http://www.page.sannet.ne.jp/mtoga/etc/cpu/bih-g_cl.htm Shift_JIS 제 2수준 한자]
* {{언어링크|ja}} [https://web.archive.org/web/20060620035017/http://www.page.sannet.ne.jp/mtoga/etc/cpu/bih-g_cm.htm 기타 Shift_JIS 문자]

{{문자 인코딩}}

[[분류:문자 인코딩]]
[[분류:일본어 컴퓨팅]]