확장 UNIX 코드

Extended Unix Code

확장 UNIX 코드(EUC)는 주로 일본어, 한국어 및 중국어 간체용으로 사용되는 멀티바이트 문자 인코딩 시스템입니다.

가장 일반적으로 사용되는 EUC 코드는 가변폭 부호화이며, ISO/IEC 646 준거 부호화 문자 세트(ASCII 등)에 속하는 문자는 1바이트, 94x94 부호화 문자 세트(GB 2312 등)에 속하는 문자는 2바이트입니다.이러한 2바이트 EUC 코드의 예는 GB 2312 및 EUC-KR의 EUC-CN 형식입니다.EUC-JP에는 최대 3바이트로 표시되는 문자가 포함되어 있습니다(첫 번째 바이트 포함).EUC-TW 의 1 문자는 최대 4 바이트를 차지할 수 있습니다.

최신 어플리케이션에서는 EUC 코드의 모든 글리프 등을 지원하는 UTF-8을 사용할 가능성이 높으며 일반적으로 벤더의 편차와 오류를 줄이고 휴대성이 향상됩니다.그러나 EUC는 여전히 매우 인기가 있으며, 특히 한국에서는 EUC-KR이 인기가 있다.

부호화 구조

패킹된 EUC와 다른 8비트 ISO 2022 프로파일과의 관계

EUC의 구조는 ISO/IEC 2022 표준에 기초하고 있으며, ISO/IEC 2022 표준에서는 94개의 7비트 바이트 0x21–7E 또는 대체적으로 0xA1–로 나타낼 수 있는 그래픽 문자 집합의 시스템을 지정합니다.8비트를 사용할 수 있는 경우 FE.이를 통해 94개의 그래픽 문자, 8836(942) 문자 또는 830584(943) 문자를 사용할 수 있습니다.초기 0x20 및 0x7F는 항상 공백삭제 문자였고 0xA0 및 0xFF는 사용되지 않았지만 ISO/IEC 2022의 이후 버전에서는 특정 상황에서 세트 내에서 0xA0 및 0xFF(또는 0x20 및 0x7F)를 사용할 수 있게 되어 96자 세트를 포함할 수 있게 되었습니다.C0C1 제어 코드에는 0x00 ~1F 및 0x80 ~9F 의 범위가 사용됩니다.

EUC는 ISO-2022-JP 등의 7비트 프로파일이 아닌 ISO/IEC 2022의 8비트 프로파일 패밀리입니다.따라서 ISO 2022 준수 문자 집합만 EUC 형식을 가질 수 있습니다.EUC 방식에서는 최대 4개의 코드화된 문자 세트(G0, G1, G2, G3 또는 코드 세트0, 1, 2, 및 3)를 나타낼 수 있습니다.G0 세트는 US-ASCII, ISO 646:KR(KS X 1003) 또는 ISO 646과 같은 ISO/IEC 646 준거 코드화된 문자 세트로 설정됩니다.JP(JIS X 0201의 하반부) 및 GL을 통해 호출됩니다(즉, 0x21~0x7E, 최상위 비트가 [1]클리어됨).US-ASCII 를 사용하는 경우, 이 코드는 확장 ASCII 인코딩이 됩니다.US-ASCII 에서의 가장 일반적인 차이는, EUC-JP 에서는 0x5C(US-ASCII 에서는 백슬래시)가, EUC-KR 에서는 원화 부호를 나타내기 위해서 사용되는 것입니다.

다른 코드 세트는 GR을 통해 호출됩니다(즉, 최상위 비트 세트).따라서 문자의 EUC 형식을 얻기 위해 각 부호화 바이트의 최상위 비트(각 7비트 부호화 바이트에 128을 더하는 것과 같음, 또는 쿠텐 코드 내의 각 번호에 160을 더하는 것과 같음)를 설정함으로써 소프트웨어는 문자열 내의 특정 바이트가 ISO646 코드에 속하는지 확장 코드에 속하는지 쉽게 판별할 수 있다.코드 세트 2, 3 의 문자는, 각각 제어 코드 SS2(0x8E) SS3(0x8F)를 프리픽스 해, GR 를 개입시켜 호출된다.초기 시프트 코드 외에 0xA0~0x 범위를 벗어난 바이트코드 세트 1 ~3의 문자에 표시되는 FF는 유효한 EUC [1]코드가 아닙니다.

EUC 코드 자체는 ISO [1]2022의 발표 및 지정 순서를 사용하지 않는다.그러나 코드 사양은 다음과 같이 세분화된 의미를 갖는 4개의 ISO 2022 발표 시퀀스의 다음 시퀀스에 해당합니다.[1]

개별 시퀀스 16진수 EUC의 특징
ESC SP C 1B 20 43 ISO-8(8비트, GL의 G0, GR의 G1)
ESC SP Z 1B 20 5A SS2를 사용하여 G2에 액세스
ESC SP [ 1B 20 5B SS3를 사용하여 G3에 액세스
ESC SP \ 1B 20 5C GR을 통한 단일 교대 호출

고정 폭 형식

일본어 고정 폭 형식 레이아웃

상기의 ISO-2022 베이스의 가변폭 부호화는, EUC 패킹 형식이라고 불리기도 합니다.이것은 통상, EUC라고 하는 부호화 형식입니다.다만, EUC 데이터의 내부 처리에서는, EUC 컴플리트 2 바이트 형식이라고 불리는 고정폭 변환 형식을 사용하는 경우가 있습니다.이것은 다음을 나타냅니다.[2]

  • 코드 세트 0은 0x21 ~0x7E 범위의 2바이트로 설정됩니다(첫 번째 바이트는 0x00일 수 있습니다).
  • 코드 세트 1은 0xA0 ~0xFF 범위의 2바이트입니다(첫 번째 바이트는 0x80일 수 있습니다).
  • 0x21~0x7E(또는 0x00) 범위의 바이트로서 코드 세트2 뒤에 0xA0~0xFF 범위의 바이트가 계속됩니다.
  • 0xA0~0xFF(또는 0x80) 범위의 바이트로서 코드 세트3 뒤에 0x21~0x7E 범위의 바이트가 계속됩니다.

코드 집합이 1바이트만 사용하는 경우 0x00 및 0x80의 초기 바이트가 사용됩니다.4바이트 고정 길이 [2]형식도 있습니다.이러한 고정 길이의 부호화 형식은 내부 처리에 적합하며 일반적으로 교환에서는 발생하지 않습니다.

EUC-JP는 IANA에 "EUC-JP" 또는 "csEUCPkdFmtJapanese" 형식으로 등록되며 고정 폭 형식은 "csEUCFixWidJapanese"[3] 형식으로 등록됩니다.HTML5에서 [4]사용되는 WHATWG Encoding Standard에는 패키지 형식만 포함되어 있습니다.

EUC-CN

EUC-CN
EUCCN encoding.svg
MIME / IANAGB2312
에일리어스CSGB2312
언어중국어, 영어, 러시아어 간체
표준.GB 2312 (1980)
분류확장 ASCII, 가변 폭 인코딩, CJK 인코딩, EUC
확장US-ASCII
내선번호748, GBK, GB 18030, x-mac-chinesimp
변환/인코딩GB 2312
에 의해 성공자GBK, GB 18030

EUC-CN[5] GB 2312 규격의 일반적인 중국어 간체 부호화 형식입니다.일본의 JIS X 0208 및 ISO-2022-JP의 경우와 달리 GB 2312는 보통 7비트 ISO 2022 코드버전에서는 [a]사용되지 않습니다만, USENET 에서는 HZ라고 불리는 바리안트 형식(GB 2312 텍스트를 ASCII 시퀀스로 구분)이 사용되기도 했습니다.

ASCII 문자는 통상적인 인코딩으로 표시됩니다.GB 2312로부터의 문자는, 2 바이트(모두 0xA1 ~0xFE)로 표시됩니다.

관련 중국 본토 부호화 시스템

748 코드

EUC-CN과 관련된 인코딩은 베이징의 Foundor Technology가 개발한 WITS 조판 시스템에 사용되는 "748" 코드입니다(현재는 새로운 FITS 조판 시스템에 의해 폐지되었습니다).748 코드에는 GB 2312모두 포함되어 있지만 ISO 2022에 준거하지 않기 때문에 진정한 EUC 코드가 아닙니다.(8비트의 리드 바이트를 사용하지만 최상위 비트가 설정된 두 번째 바이트와 최상위 비트가 지워진 바이트를 구분하므로 Big5 및 기타 비트와 구조가 더 유사합니다.ISO 2022 준거 DBCS 부호화 시스템).748 코드의 GB2312 이외의 부분에는 신문 조판 작업에 사용되는 전통 및 홍콩 문자 및 기타 문자가 포함되어 있습니다.

IBM 코드 페이지 1380, 1381, 1382 및 1383

IBM코드 페이지입니다. 1381년(CCSID 1381년)는 싱글 바이트 코드 페이지 1115년(CPGID 1115년 CCSID 1115년으로)과 2바이트 코드 페이지는 EUC-CN지만 EUC 구조에서 0x8C에, 0x8을 통해 0x8CE0에 31IBM-selected 캐릭터를 추가하는 것은 납 바이트 범위 확장함으로써 벗어나는 GB2312 같은 방식으로 인코딩 1380년(CPGID 1380년 CCSID 1380년으로)[6]로 구성되어 있다.CFE및 리드 바이트가 0x8D~0xA0인 [7]1880개의 사용자 정의 문자를 추가합니다.

IBM코드 페이지 1383년(CCSID 1383년)는 싱글 바이트 코드 페이지 367과 2바이트 코드 페이지를 구성하고 1382년(CPGID 1382년 CCSID 1382년으로)[8]와로 적합한 EUC 구조, 추가하는 것은 31일IBM-selected로 0xFEE0을 통해 0xFEFE 대신에 포함한 1360년 사용자 정의 문자, 산재성의 위치 아니라 사용된.GB2312.[9] 대체 CCSID 5479는[10] 순수 EUC-CN 코드페이지에 사용됩니다.CCSID 9574는 CPGID 1382를 사용하지만 IBM이 선택한 문자 및 사용자 정의 [11]문자는 제외됩니다.

GBK 및 GB 18030

GBK는 GB 2312로의 확장입니다.이 명령어는 주로 Unicode 1.1에서 발신된 CJK 문자의 대규모 배열을 나타낼 수 있는 EUC-CN 인코딩의 확장 형식을 정의합니다.이 중에는 번체 한자 및 일본어에서만 사용되는 문자도 포함됩니다.단, 더 큰 인코딩 공간이 필요하기 때문에 ASCII 바이트는 트레일 바이트로 표시될 수 있습니다(및 단일 시프트에 한정되지 않는 C1 바이트는 리드 바이트 또는 트레일 바이트로 표시될 수 있습니다).

GBK의 변형은 Windows 코드 페이지 936(간체 중국어용 Microsoft Windows 코드 페이지)과 IBM 코드 페이지 1386에서 구현됩니다.

Unicode 기반의 GB 18030 문자 인코딩은 Unicode 전체를 인코딩할 수 있는 GBK의 확장을 정의합니다.단, GB 18030으로 인코딩된 Unicode는 문자당 최대 4바이트를 사용할 수 있는 가변 폭 인코딩입니다.이는 더 큰 인코딩 공간이 필요하기 때문입니다.GBK의 확장 기능으로서 EUC-CN의 슈퍼셋이지만, 그 자체는 진정한 EUC 코드는 아닙니다.Unicode 인코딩이기 때문에 UTF-8 등의 다른 Unicode 변환 포맷과 레퍼토리가 동일합니다.

Mac OS 중국어 간체

EUC 메커니즘에서 벗어난 다른 EUC-CN 변종에는 Mac OS 중국어 간체 스크립트(Code 페이지 10008 또는x-mac-chinesesimpumlaut(ü), 두 개의 특수 글꼴 메트릭 문자, 공백(non-breaking space), 저작권 기호(©), 상표 기호(™) 및 줄임표(…)가 [5]있는 U에 대해 바이트 0x80, 0x82, 0xA0, 0xFE, 0xFF를 사용합니다.[12]이는 단일 바이트 문자와 EUC(이들 중 0xFD 및 0xFE는 리드 바이트로 정의됨)와 GBK(이들 중 0x81, 0x82, 0xFD 및 0xFE는 리드 바이트로 정의됨)에서 2바이트 문자의 첫 번째 바이트로 간주되는 것과 다릅니다.

이 0xA0, 0xFD, 0xFE 및 0xFF의 사용은 Apple의 Shift_J와 일치합니다.IS 바리안트

리드 바이트 범위에 대한 이러한 변경 외에도 Mac OS 중국어 간체(간체)의 더블 바이트 부분의 또 다른 특징은 6행과 [5]8행에 설정된 기본 GB 2312-80에 대한 두 가지 확장자를 포함시키는 것입니다.이러한 확장자는 "GB 2312의 표준 확장자"로 간주되며, 둘 다 Apple만의 것이 아닙니다.행 8 확장자는 GB 6345.[5]1에서 가져온 것이며, 양쪽 확장자는 GB/T 12345(GB 2312의 번체 중국어 버전)에 포함되어 있으며, 양쪽 확장자는 GB 18030(GB 2312의 [13][14]후속 버전)에 포함되어 있습니다.

EUC-JP

EUC-JP
EUC-JP.svg
MIME / IANAEUC-JP
에일리어스Unixized JIS(UJIS), csEUCPkdFmt 일본어
언어일본어, 영어, 러시아어
분류확장 ISO 646, 가변인코딩, CJK 인코딩, EUC
확장US-ASCII 또는 ISO 646:JP
변환/인코딩JIS X 0208, JIS X 0212, JIS X 0201
에 의해 성공자EUC-JISX0213
EUC-JIS-2004
EUC-JISx0213.svg
에일리어스EUC-JISX0213
언어일본어, 아이누어, 영어, 러시아어
표준.JIS X 0213
분류확장 ASCII, 가변 폭 인코딩, CJK 인코딩, EUC
확장US-ASCII
변환/인코딩JIS X 0213, JIS X 0201 (가나다)
선행EUC-JP

EUC-JP는 JIS X 0208, JIS X 0212 JIS X 02013가지 일본어 문자 집합 표준 요소를 나타내기 위해 사용되는 가변 폭 부호화입니다.이 인코딩의 다른 이름으로는 Unixized JIS(UJIS)와 AT&T [2]JIS가 있습니다.[15]2018년 8월 이후 전체 웹 페이지의 0.1%가 EUC-JP를 사용하고 있으며, 일본어 웹사이트의 2.6%가 이 인코딩을[16] 사용하고 있습니다(Shift JIS 또는 UTF-8보다 적게 사용).이것은 [17][18]IBM에 의해 코드 페이지 954라고 불립니다.Microsoft 에는, 이 부호화에 관한 2 개의 코드 페이지 번호(51932 및 20932)가 있습니다.

이 인코딩 방식을 사용하면 동일한 문자 세트 표준에 기초한 ISO-2022-JP에서 사용되는 이스케이프 문자와 (Shift JIS와 달리) ASCII 바이트가 트레일 바이트로 표시되지 않고 7비트 ASCII와 8비트 일본어를 쉽게 혼재시킬 수 있습니다.

EUC-JIS0213 또는 EUC-JIS-2004라고 불리는 관련 부분 호환 인코딩은 JIS X 0201 JIS X 0213[19] 인코딩합니다(Shift_J와 동일).ISX0213, 그 Shift_JIS 기반의 대응책).

EUC-CN 또는 EUC-KR에 비해 EUC-JP는 일본의 PC 및 Macintosh 시스템에서 널리 채택되지 않았습니다.이 시스템에서는 Shift JIS 또는 그 확장 기능(Microsoft Windows경우 Windows 코드 페이지 932, 클래식 Mac OS의 경우 Mac Japanese)을 사용했지만 Unix 또는 Unix 유사 운영 체제(HPU 제외)에서는 많이 사용되었습니다.따라서 일본 웹사이트가 EUC-JP 또는 Shift_J 중 어느 쪽을 사용하는지IS는 작성자가 사용하는 OS에 따라 달라집니다.

문자는 다음과 같이 부호화됩니다.

  • EUC/ISO 2022 준거 부호화로서 C0 제어 문자, 스페이스, DEL을 ASCII와 같이 나타낸다.
  • ASCII로부터의 그래픽 문자(코드 세트 0)는, 통상의 1 바이트 표현으로서 0x21 ~ 0x7E 의 범위에서 표시됩니다.여기에서는, JIS X 0201 하부를 인코딩 하는 바리안트도 있습니다만, HTML5 [21]로 사용되는 W3C/WHATWG 부호화 표준을 포함한 [20]ASCII 와 EUC-JIS-2004 [19]의 인코딩도 마찬가지입니다.이는 0x5C가 보통 U+005C REVERSE SOLIDUS(ASCII 백슬래시)로 Unicode에 매핑되는 것을 의미하지만, Microsoft Windows에서는 JIS [22][23]X 0201의 하위 절반과의 호환성을 위해 특정 일본어 로케일 글꼴에 의해 U+005C가 Yen 기호로 표시될 수 있습니다.
  • JIS X 0208(코드 세트 1)로부터의 문자는, 2 바이트(모두 0xA1 ~0xFE)로 표시됩니다.이것은, 하이 비트가 설정되어 있는 것에 의해서, ISO-2022-JP 의 표현과는 다릅니다.이 코드 세트에는, 일부의 EUC-JP 베리에이션의 벤더 확장 기능도 포함되어 있습니다.EUC-JIS-2004 에서는, JIS X 0213 의 제1 평면을 부호화해, 사실상 표준 JIS X 0208 [19]의 슈퍼 세트이다.
  • JIS X 0201(반각 가나, 코드 세트 2)의 상반부로부터의 문자는 2바이트로 표현되며, 첫 번째 문자는 0x8E이고, 두 번째 문자는 0xA1~0xDF 범위의 통상적인 JIS X 0201 표현이다.이 집합에는 일부 변형에서 IBM 공급업체 확장이 포함될 수 있습니다.
  • JIS X 0212(코드 세트 3)로부터의 문자는, EUC-JP 로 3 바이트(첫 번째는 0x8F, 다음 2개는 0xA1~0xFE 의 범위, 즉 하이 비트 세트)로 표현된다.표준 JIS X 0212 외에 일부 EUC-JP 변형 코드 세트 3은 표준 JIS X 0212 매핑이 없는 IBM의 Shift JIS 확장의 문자를 나타내기 위해 행 83 및 84에 확장자를 포함할 수 있습니다.이 확장자는 IBM 자체 및 OSF[24][25]의해 정의된 두 가지 레이아웃 중 하나로 코딩될 수 있습니다.EUC-JIS-2004 에서는, JIS X 0213 의 제2 플레인이 여기에 [19]부호화되어 표준 JIS X [26]0212 의 할당 행과 충돌하지 않는다.Python에서 사용되는 것과 같은 EUC-JIS-2004의 일부 구현에서는 [26]세트에 JIS X 0212 JIS X 0213 플레인2 문자를 모두 사용할 수 있습니다.

관련 일본어 부호화 방식

유효하지 않은 EUC 시퀀스(EUC-CN 및 EUC-KR의 일반적인 확장)를 사용하는 대신 EUC-JP에 대한 벤더 확장(예: Open Software Foundation, IBM 또는 NEC)이 개별 코드 [24][25]세트 내에 할당되는 경우가 많습니다.

단, 일부 벤더 고유의 인코딩은 JIS X 0208 over GR을 인코딩하기 때문에 EUC-JP와 부분적으로 호환되지만 EUC 구조를 따르지 않습니다.많은 경우 EUC-JP로부터의 싱글 시프트의 사용은 포함되어 있지 않기 때문에, Super DEC Kanji를 제외하고 EUC-JP의 직접적인 확장이 아닙니다.

DEC 한자

Digital Equipment Corporation에서는 EUC-JP의 2가지 변종이 EUC 패킹 포맷에 부분적으로만 적합하지만 완전한 2바이트 포맷과 다소 유사하다고 정의하고 있습니다.DEC Kanji 인코딩의 전체 형식은 대부분 고정 폭(완전 2바이트) EUC에 대응하지만 코드 세트0은 null 바이트로 왼쪽 패딩할 필요는 없습니다(패킹 [27]형식과 동일).JIS X 0208은 종래와 같이 코드 세트 1에 사용되고, 코드 세트 2(반각 가타카나)는 존재하지 않으며, 코드 세트 3은 2바이트 고정 폭 포맷(시프트 바이트 없이 제1의 하이 비트 세트만)과 같이 부호화되어 있지만, JIS X [27]0212에 지정되어 있지 않고, 2바이트의 유저 정의 문자에 사용되고 있다.기본 「DEC 한자」부호화에서는, 코드 세트 [28]1의 미사용 행과 같이, 32~94 행이 예약되어 있는 등, 코드 세트 3의 선두 31 행만이 사용자 정의 문자에 사용된다.

「Super DEC Kanji」부호화에서는, 「DEC Kanji」부호화로부터도, 포장 형식의 EUC로부터도, 합계 5개의 코드 [27]세트를 사용할 수 있습니다.또한 사용자 정의 코드 세트 전체와 JIS X 0208 및 JIS X 0212 코드 세트 끝의 미사용 행(각각 85~94 행 및 78~94 행)을 사용자 정의 [28]문자에 사용할 수 있습니다.

HP-16

Hewlett-Packard는 "HP-16"이라고 하는 인코딩을 정의합니다.여기에는 Shift JIS의 변형인 "HP-15" 인코딩이 수반됩니다.HP-16은 EUC-JP와 같은 바이트를 사용하여 JIS X 0208을 인코딩하지만 단일 시프트 코드(따라서 코드 세트2 및 3 제외)를 사용하지 않고 패킹 형식의 EUC [27]구조를 따르지 않는3개의 사용자 정의 영역을 추가합니다.

  • 리드 바이트 0xA1~C2, 트레일 바이트 0x21~7e
  • 리드 바이트 0xC3 ~E3, 트레일 바이트 0x21 ~3f
  • 리드바이트 0xC3~E1, 트레일바이트 0x40~64

IKIS

Data General이 사용하는 IKIS(Interactive Kanji Information System) 인코딩은 코드 세트 0과 1만 있는 싱글 시프트 없이 EUC-JP와 유사합니다.JIS X 0208의 8행에는 반각 가타카나가 포함되어 있습니다(1983년에 표준으로 추가된 상자 그리기 문자와 충돌).사용자 [27][28]정의 문자에는 JIS X 0208 행9 ~ 12 가 사용됩니다.

EBCD용 EUC-JP 적응IC

KEIS(Kanji-processing Extended Information System)는 [28]Hitachi에서 사용되는 EBCDIC 인코딩으로, 시프트 시퀀스를 사용하여 더블바이트 문자(DBCS-Host 인코딩)를 포함하므로 스테이트풀 인코딩이 됩니다.특히, 순서는0x0A 0x41싱글 바이트 모드로 전환하고 시퀀스를0x0A 0x42더블 바이트 [b]모드로 전환합니다.다만, JIS X 0208 문자는, EUC-JP 로 부호화할 때와 같은 바이트 시퀀스를 사용해 부호화됩니다.이것에 의해, DBCS-Host 코드 구조 마다 0x4040 및 EUC-JP 와 같이 0xA1A1 의 IDEographic 스페이스에 중복 인코딩이 발생합니다.이는 JIS X 0208 이전 버전을 기반으로 레이아웃이 구축되는 IBM의 일본어 DBCS-Host 인코딩과는 다릅니다.리드 바이트의 범위는 0x59까지 연장됩니다.이 중 리드 바이트 0x81~A0은 사용자 정의 [27]문자로 지정되며 나머지는 한자와 [28]비한자를 모두 포함한 기업 정의 문자로 사용됩니다.

JEF(Japanese-processing Extended Feature)[28]는 Fujitsu FACOM 메인프레임에서 사용되는EBCDIC 인코딩으로 Fujitsu PC에서 사용되는FMR(Shift JIS의 일종)과 대조됩니다.KEIS와 마찬가지로 JEF는 스테이트풀 부호화이며 시프트 시퀀스를 사용하여 더블바이트 DBCS-Host 모드로 전환됩니다(여기서0x29싱글 바이트 모드로 전환하여0x28더블바이트 [29]모드로 전환됩니다).또한 KEIS와 마찬가지로 JIS X 0208 코드는 EUC-JP와 [27]동일하게 표시됩니다.리드 바이트의 범위는 0x80~A0으로 0x41로 확장됩니다.리드 바이트 0x41~7F는 kuten용으로 행 번호 101~163이 할당됩니다.단, 행 162(리드 바이트 0x7E)는 [27][28]사용되지 않습니다.확장 한자는 101~148행, 확장 [28]비한자는 149~163행이다.

EUC-KR

EUC-KR
EUC-KR without extensions.svg
EUC-KR 코드 구조
MIME / IANAEUC-KR
에일리어스완성, IBM-970
언어한국어, 영어, 러시아어
표준.KS X 2901(KS C 5861)
분류확장 ISO 646, 가변인코딩, CJK 인코딩, EUC
확장US-ASCII 또는 ISO 646:KR
내선번호Mac OS 한국어, IBM-949, 통합 한글 코드(Windows-949)
변환/인코딩KS X 1001
에 의해 성공자통합 한글 코드(Web 표준)

EUC-KRKS X 1001(구 KS C 5601)[30][31]과 ISO 646:KR(구 KS C 5636) 또는 US-ASCII2개의 코드화된 문자 세트를 사용하여 한국어 텍스트를 나타내는 가변 너비 인코딩입니다.KS X 2901(구 KS C 5861)은 부호화와 RFC1557에서는 EUC-KR로 불리고 있습니다.

KS X 1001(G1, 코드 세트 1)에서 추출된 문자는 GR(0xA1~0xFE)에서 2바이트로 부호화되며, KS X 1003 또는 US-ASCII(G0, 코드 세트 0)에서 추출된 문자는 GL(0x21~0x7E)에서 1바이트가 된다.

그것은 보통 완성(한국어: 성城, 로마자: 완성, 조명. 대한민국에서는 '사전[32] 작곡'입니다.IBM은 더블바이트 구성요소를 코드 페이지 971로,[33] ASCII를 코드 페이지 970으로 [34][35][36]나타냅니다.Microsoft에 [37]의해 코드 페이지 20949(한국어)[37][38]코드 페이지 51949(EUC 한국어)로 구현되어 있습니다.

2022년 6월 현재 전 세계 웹페이지 [15]중 EUC-KR을 사용하는 비율은 0.1%에 불과하지만 국내 웹페이지 중 EUC-KR을 사용하는[39] 비율은 5.9%로 언어/[40]웹 도메인에서 가장 인기 있는 비 UTF-8/Unicode 인코딩이다.확장자를 포함하면 한국에서 3대 플랫폼(macOS, 기타 유닉스 계열 OS, Windows)에서 가장 널리 사용되는 레거시 문자 인코딩이지만 리눅스 및 MacOS에서 인기를 끌면서 UTF-8로 매우 서서히 전환되고 있다.

다른 대부분의 인코딩과 마찬가지로 UTF-8은 새로운 용도로 선호되고 있으며 플랫폼과 벤더 간의 일관성 문제를 해결합니다.

관련 한글 부호화 시스템

통일 한글 코드

EUC-KR의 일반적인 확장자는 통합 한글 코드('동합형 한글 코드' 또는 '동합형 한글 코드'[41] 또는 '동합형 한글 코드')입니다.이것은 Microsoft Windows 의 디폴트 한국어 코드 페이지입니다.Microsoft는 코드 페이지 번호949를 부여하고 IBM은[42] 1261 또는[43] 1363을 부여합니다.IBM의 코드 페이지 949는 서로 관련이 없는 다른 EUC-KR 확장입니다.

통합 한글 코드는 EUC 구조에 준거하지 않는 코드를 사용하여 추가 음절 블록을 통합함으로써 EUC-KR을 확장하여 Johab 및 Unicode에서 사용할 수 있는 합성 음절 블록의 커버리지를 완성합니다.HTML5에서 사용되는 W3C/WHATWG 인코딩 규격은 EUC-KR 정의에 통합 [44]한글 코드 확장을 포함합니다.

Mac OS 한국어(한글톡)

EUC-KR을 서브셋으로 통합한 다른 인코딩에는 Mac OS 한국어 스크립트(코드 페이지 10003 또는x-mac-korean한글토크(MacOS-KH)에서 사용되었으며,[12] 이는 고전 Mac OS의 한국어 현지화입니다.Elex Computer(Elex Computer)에 의해 개발되었으며,[45][28] Elex Computer는 당시 한국의 Apple Macintosh 컴퓨터 공인 대리점이었다.

한글톡에서는 EUC-KR GR 플레인 내의 미사용 공간(트레일바이트 0xA1~0xFE)에 리드바이트가 0xA1~0xAD 의 확장문자가 추가되어 외부에서는 비EUC 코드(트레일바이트 0x41~0xA0)가 사용됩니다.이러한 문자 중 일부는 글꼴 스타일에 의존하지 않는 스타일화[28]딩배트입니다.이러한 문자의 대부분은 정확한 Unicode 매핑을 가지고 있지 않습니다.Apple 소프트웨어는 이러한 케이스를 시퀀스의 조합, 라운드 트립의 목적의 수식자로서 부가된 프라이빗 유스 문자를 사용한 대략적인 매핑 또는 프라이빗 유스 [46]문자에 다양하게 매핑합니다.

또한 Apple은 EUC-KR 평면 밖의 특정 단일 바이트 코드를 추가 문자로 사용합니다. 즉, 0x80은 필수 공백, 0x81은 원 기호, 0x82는 대시(–), 0x83은 저작권 기호(©), 0x84는 넓은 언더스코어(*) 및 0xFF는 생략 부호(…)[46]입니다.이러한 추가 싱글바이트 코드는 플레인 EUC-KR의 리드바이트 범위 내에 있지 않지만(위 참조), 일부는 통합한글코드의 리드바이트 범위 내에 있습니다(구체적으로는 0x81, 0x82, 0x83, 0x84).

EUC-KP

KS X 1001과 마찬가지로 북한의 KPS 9566 규격은 일반적으로 EUC 형식으로 사용됩니다.이러한 상황에서는 [47]EUC-KP라고 불리기도 합니다.이 표준의 최신 버전은 EUC 표현을 통합 한글 [48]코드와 유사한 방식으로 EUC 이외의 2바이트 코드를 사용하는 문자로 확장합니다.

EUC-TW

EUC-TW는 US-ASCII 및 CNS 11643의 16플레인(각각 94x94)을 지원하는 가변폭 부호화입니다.대만에서 사용되는 번체 한자 인코딩은 거의 사용되지 않습니다.Big5의 바리안트는 EUC-TW보다 훨씬 일반적이지만 Big5는 CNS 11643 한지의 첫 번째 2개의 플레인만 인코딩하고 UTF-8은 점점 일반화되고 있습니다.

  • EUC/ISO 2022 부호화로서 C0 제어 문자, ASCII 스페이스, DEL을 ASCII 와 같이 부호화한다.
  • US-ASCII로부터의 그래픽 문자(G0, 코드 세트 0)는, 통상의 싱글 바이트 표현(0x21~0x7E)로서 GL 로 부호화됩니다.
  • CNS 11643 플레인1(코드 세트 1)로부터의 문자는, GR(0xA1~0xFE)로 2 바이트로서 부호화됩니다.
  • CNS 11643(코드 세트 2)의 플레인1 ~ 16 의 문자는, 4 바이트로 부호화됩니다.
    • 첫 번째 바이트는 항상 0x8E(Single Shift 2)입니다.
    • 두 번째 바이트(0xA1–0xB0)는 평면을 나타냅니다.평면의 수는 해당 바이트에서 0xA0을 뺀 값입니다.
    • 세 번째와 네 번째 바이트는 GR(0xA1~0xFE)입니다.

CNS 11643의 플레인1은 코드 세트1과 코드 세트2의 일부로서 2회 부호화되어 있는 것에 주의해 주세요.

「 」를 참조해 주세요.

메모들

  1. ^ GB 2312를 지원하는7비트 ISO 2022 코드버전에는 ISO-2022-CN(시프트 코드 포함)과 ISO-2022-JP-2(시프트 코드 없음)가 있으며, 둘 다 ASCII 이외의 세트도 지원합니다.
  2. ^ 이러한 시퀀스는 DEC 및 10진수 형식과[29] 일치합니다(10 65그리고.10 66룬드에 의해 리스트 됩니다.[27]Lunde는 양쪽의 16진수 형식을 다음과 같이 나열합니다.0xA0 0x42오류가 있는 것 같습니다.

레퍼런스

  1. ^ a b c d IBM. "Character Data Representation Architecture (CDRA)". IBM. pp. 157–162.
  2. ^ a b c Lunde, Ken (2008). CJKV Information Processing: Chinese, Japanese, Korean, and Vietnamese Computing. O'Reilly. pp. 242–244. ISBN 9780596800925.
  3. ^ "Character Sets". IANA.
  4. ^ "4.2. Names and labels". Encoding Standard. WHATWG.
  5. ^ a b c d "Map (external version) from Mac OS Chinese Simplified encoding to Unicode 3.0 and later". Apple, Inc.
  6. ^ "S-Ch PC Data mixed (IBM GB) including 1880 UDC, 31 IBM selected characters and 5 SAA SB characters". IBM Globalization: Coded character set identifiers. IBM. Archived from the original on 2016-03-26.
  7. ^ "IBM Simplified Chinese Graphic Character Set" (PDF). IBM. 1993. C-H 3-3220-130 1993-11.
  8. ^ "CCSID 1383: S-Ch EUC G0 set, ASCII G1 set, GB 2312-80 set (1382)". IBM Globalization: Coded character set identifiers. IBM. Archived from the original on 2016-03-28.
  9. ^ "IBM Simplified Chinese Graphic Character Set for Extended UNIX Code (EUC)" (PDF). IBM. 1994. C-H 3-3220-132 1994-06.
  10. ^ "CCSID 5479: S-Ch EUC G0 set, ASCII G1 set, GB 2312-80 set (5478)". IBM Globalization: Coded character set identifiers. IBM. Archived from the original on 2016-03-27.
  11. ^ "CCSID 9574: S-Ch DBCS PC GB 2312-80 set, excluding 31 IBM selected and 1360 UDC. Also used in T-Ch 2022-CN TCP". IBM Globalization: Coded character set identifiers. IBM. Archived from the original on 2016-03-27.
  12. ^ a b "Encoding.WindowsCodePage Property - .NET Framework (current version)". MSDN. Microsoft.
  13. ^ Lunde, Ken (1998). Appendix F: GB/T 12345 (PDF). CJKV Information Processing. O'Reilly Media. ISBN 9781565922242.
  14. ^ Standardization Administration of China (SAC) (2005-11-18). GB 18030-2005: Information Technology—Chinese coded character set.
  15. ^ a b "Historical trends in the usage of character encodings for websites". W3Techs.
  16. ^ "Distribution of Character Encodings among websites that use Japanese". w3techs.com. Retrieved 2022-08-01.
  17. ^ "CCSID 954 information document". Archived from the original on 2016-03-27.
  18. ^ International Components for Unicode (ICU), ibm-954_P101-2007.ucm, 2002-12-03
  19. ^ a b c d "JIS X 0213 Code Mapping Tables". x0213.org.
  20. ^ "Ambiguities in conversion from Japanese EUC to Unicode (Non-Normative)". XML Japanese Profile. W3C.
  21. ^ "EUC-JP decoder". Encoding Standard. WHATWG. "바이트가 ASCII 바이트인 경우 값이 바이트인 코드 포인트를 반환합니다."
  22. ^ "3.1.1 Details of Problems". Problems and Solutions for Unicode and User/Vendor Defined Characters. The Open Group Japan. Archived from the original on 1999-02-03. Retrieved 2019-08-14.
  23. ^ Kaplan, Michael S. (2005-09-17). "When is a backslash not a backslash?".
  24. ^ a b "4.2 Review Process of Rules for Code Set Conversion Between eucJP-open and UCS". Problems and Solutions for Unicode and User/Vendor Defined Characters. The Open Group Japan. Archived from the original on 1999-02-03. Retrieved 2019-08-14.
  25. ^ a b Lunde, Ken (13 January 2009). "Appendix J: Japanese Character Sets" (PDF). CJKV Information Processing (2nd ed.). ISBN 978-0-596-51447-1.
  26. ^ a b Chang, Hyeshik (8 December 2021). "Readme for CJKCodecs". cPython. Python Software Foundation.
  27. ^ a b c d e f g h i Lunde, Ken (13 January 2009). "Appendix F: Vendor Encoding Methods" (PDF). CJKV Information Processing (2nd ed.). ISBN 978-0-596-51447-1.
  28. ^ a b c d e f g h i j Lunde, Ken (2009). "Appendix E: Vendor Character Set Standards" (PDF). CJKV Information Processing: Chinese, Japanese, Korean & Vietnamese Computing (2nd ed.). Sebastopol, CA: O'Reilly. ISBN 978-0-596-51447-1.
  29. ^ a b "2: Codesets and Codeset Conversion". DIGITAL UNIX Technical Reference for Using Japanese Features. Digital Equipment Corporation, Compaq.
  30. ^ "KS X 1001:1992" (PDF).
  31. ^ "KS C 5601:1987" (PDF). 1988-10-01.
  32. ^ Lunde, Ken (2009). "Chapter 3: Character Set Standards". CJKV Information Processing. p. 146. ISBN 978-0596514471.
  33. ^ "IBM Globalization - Coded character set identifiers - CCSID 971". Archived from the original on 2014-11-30. Retrieved 2021-09-03.
  34. ^ "CCSID 970". IBM Globalization. IBM. Archived from the original on 2014-12-01.
  35. ^ "ibm-970_P110_P110-2006_U2 (alias euc-kr)". Converter Explorer - ICU Demonstration. International Components for Unicode.
  36. ^ International Components for Unicode (ICU), ibm-970_P110_P110-2006_U2.ucm, 2002-12-03
  37. ^ a b "Code Page Identifiers". Windows Dev Center. Microsoft.
  38. ^ Julliard, Alexandre. "dump_krwansung_codepage: build Korean Wansung table from the KSX1001 file". make_unicode: Generate code page .c files from ftp.unicode.org descriptions. Wine Project.
  39. ^ "Distribution of Character Encodings among websites that use .kr". w3techs.com. Retrieved 2022-06-18.
  40. ^ "Distribution of Character Encodings among websites that use Korean". w3techs.com. Retrieved 2022-06-18.
  41. ^ "한글 코드에 대하여" (in Korean). W3C. Archived from the original on 2013-05-24. Retrieved 2019-01-07.
  42. ^ IBM에서 발신되어 Unicode의 International Components for Unicode 소스 트리에 포함된 파일인 ucnv_lmb.cpp에서 리드 바이트 0x11은 다음 정의 뒤에 "Korean: ibm-1261"을 참조하는 것으로 코멘트됩니다.ULMBCS_GRP_KO및 에 매핑됩니다."windows-949"의 ICU 코덱OptGroupByteToCPName파일 뒷부분에서 배열합니다.
  43. ^ "Coded character set identifiers - CCSID 1363", IBM Globalization, IBM, archived from the original on 2014-11-29
  44. ^ "5. Indexes (§ index EUC-KR)", Encoding Standard, WHATWG
  45. ^ Gil, Hojin. "HangulTalk: De facto standard Hangul environment for Mac". Guide to using Hangul on Macintosh.
  46. ^ a b Apple (2005-04-05). "Map (external version) from Mac OS Korean encoding to Unicode 3.2 and later". Unicode Consortium.
  47. ^ Kim, Kyongsok (2002-11-30). "3-way cross-reference tables - KS X 1001, KPS 9566, and UCS" (PDF). ISO/IEC JTC 1/SC 2/WG 2 N2564. [주의: 문서 첨부 표 링크 갱신 : [1] [2]]
  48. ^ Chung, Jaemin (2018-01-05). "Information on the most recent version of KPS 9566 (KPS 9566-2011?)" (PDF). UTC L2/18-011.

외부 링크