Shift JIS

Shift_JIS는 널리 쓰이는 일본어 문자 인코딩의 하나이다. 주식회사 아스키와 마이크로소프트가 공동으로 만들었다.

탄생 배경[편집 | 원본 편집]

일본은 2바이트 문자 인코딩 그런 거 없었던 1969년에 1바이트용 문자 집합인 JIS X 0201(당시 JIS C 6220)을 제정해 사용한다.

1978년에는 히라가나, 가타카나, 한자, 기호를 모두 포함한 2바이트 94×94 문자 집합인 JIS X 0208(당시 JIS C 6226)이 제정되는데, 이를 다른 EUC 문자 집합과 마찬가지로 0xA1A1부터 0xFEFE에 배당하면 JIS X 0201로 작성된 기존 문서들을 읽을 수가 없게 된다. 그래서 JIS X 0201과 JIS X 0208을 함께 쓰기 위해서 만들어진 문자 인코딩이 Shift_JIS이다.

구조[편집 | 원본 편집]

Shift_JIS는 47×188 구조이다.

  • 첫째 바이트는 0x81부터 0x9F, 0xE0부터 0xEF를 사용한다.
  • 둘째 바이트는 0x40부터 0x7E, 0x80부터 0xFC를 사용한다.

0x5C 문제[편집 | 원본 편집]

둘째 바이트에 0x5C가 들어갈 수 있기 때문에 여러 환경에서 문제가 일어날 수 있다. 예를 들어 表의 경우 둘째 바이트가 0x5C인데, 이러다 보니 print "表" 같은 것을 입력하면 두 번째 " 기호가 escape된 것으로 간주되어 에러가 날 수 있다. ソ, 噂, 欺, 構, 十, 申, 貼, 能, 表, 暴, 予 등이 여기에 해당된다.

확장[편집 | 원본 편집]

Shift_JIS에는 여러 확장이 존재한다. 다만 이 확장 영역의 문자들은 서로 호환되지 않기 때문에 기종 의존 문자(機種依存文字) 또는 환경 의존 문자(環境依存文字)라고 불리며, 사용 시에 주의가 필요하다. 윈도의 Shift_JIS 환경에서 ①을 쓰면 맥의 Shift_JIS 환경에서는 ㈰로 출력되는 이유가 여기에 있다.