맨위로가기

확장 이진화 십진법 교환 부호

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

확장 이진화 십진법 교환 부호(EBCDIC)는 IBM이 1963년과 1964년에 개발한 8비트 문자 인코딩이다. IBM System/360 메인프레임 컴퓨터와 함께 도입되었으며, 기존 BCDIC 인코딩을 확장하여 천공 카드에 효율적으로 문자를 인코딩하기 위해 설계되었다. EBCDIC는 ASCII와의 호환성 문제로 인해 비판을 받았으며, 문자 배열, 제어 문자, 정렬 순서 등에서 차이를 보인다. 현재 IBM 메인프레임 운영 체제에서 표준 문자 코드로 사용되지만, ASCII, 유니코드 등과의 코드 변환을 통해 다른 시스템과의 호환성을 유지한다.

더 읽어볼만한 페이지

  • 문자 집합 - 점자
    점자는 루이 브라이유가 개발한 시각 장애인용 촉각 문자 체계로, 6점 점자를 사용하여 133개 이상의 언어에 적용되었으며, 교육, 정보 접근, 사회 참여에 필수적인 역할을 수행하지만 문해력 저하와 교육의 어려움이라는 과제도 안고 있다.
  • 문자 집합 - ISO/IEC 646
    ISO/IEC 646는 ASCII 기반의 7비트 문자 인코딩 표준으로, 국가별 변형이 존재했으나, 최종 개정판은 ASCII와 호환되도록 정의되었고, 현재는 ITU-T 권고 T.50 IRA가 현행 표준으로 유지되고 있다.
  • IBM 메인프레임 운영 체제 - OS/390
    OS/390은 1995년에 출시된 IBM의 운영 체제 패키지로, MVS 운영 체제 핵심 요소를 통합하여 신뢰성, 가용성, 서비스 가능성을 향상시켰으며, 2004년에 지원이 종료되었다.
  • IBM 메인프레임 운영 체제 - OS/360
    OS/360은 IBM System/360 제품군을 위해 개발된 범용 운영 체제로, 상업 및 과학 기술 계산을 지원하고 일괄 처리 시스템에서 발전하여 EBCDIC 문자 코드를 채용하고 자기 디스크 장치를 다루는 최초의 OS가 되었으며, 현재의 IBM 메인프레임 OS인 z/OS의 계승자로서 퍼블릭 도메인으로 공개되어 Hercules 에뮬레이터를 통해 실행 가능하다.
확장 이진화 십진법 교환 부호
EBCDIC 인코딩 계열
개요
분류8비트 베이식 라틴 인코딩 (ASCII 아님)
이전BCD

2. 역사

IBM이 1963년과 1964년에 걸쳐 고안한 EBCDIC는 IBM System/360 계열의 메인프레임 컴퓨터와 함께 소개되었다.[34][35] 8비트 문자열 인코딩인 EBCDIC는 천공 카드 상의 두 "존(zone)"과 "숫자"를 6비트에 인코딩하는 효율적인 방법으로 고안된 기존 IBM BCDIC 인코딩을 확장하기 위해 만들어졌다.

IBM은 ASCII 표준화 위원회의 주요 지지자였지만[34][27], System/360 출시에 맞춰 ASCII 주변장치를 내놓을 수 없었기 때문에 EBCDIC을 사용하게 되었다.[35] BCD를 기반으로 한 이유는 당시 데이터의 대다수가 펀치 카드 형태로 BCD 형식으로 보관되어 있었기 때문에, 축적된 데이터의 호환성을 우선시했기 때문이다.

System/360의 성공과 더불어, RCA Spectra, ICL System 4, 후지쯔 FACOM, 히타치 제작소 HITAC 등 System/360의 클론들도 EBCDIC를 채택했다.

z/OS, z/VSE, z/VM, OS/400, IBM i 등 IBM 메인프레임 운영 체제는 EBCDIC를 표준 문자 코드로 사용한다. 그러나, IBM 메인프레임에서도 z/OS 상의 USS(UNIX 호환 환경)나, Linux, 혹은 AS/400나 Power Systems i Edition 상에서 가동되는 Linux나 AIX 등은 ASCII이다. EBCDIC와, ASCII, 시프트 JIS, 유니코드 등의 주요 문자 코드 간에는, 운영 체제, 미들웨어, 각종 도구, 응용 소프트웨어 등의 기능을 사용한 코드 변환이 이루어지고 있다.

IBM 외에는 BS2000, HP MPE, Unisys MCP 등도 EBCDIC를 기반으로 하고 있다. 히타치 제작소는 EBCDIC를 기반으로 한 자사의 문자 코드를 '''EBCDIK'''라고 부르고 있다[28]

천공 카드에 1964년 EBCDIC 문자 집합의 홀레리스 인코딩이 적용된 모습. 상단의 대비는 인쇄된 문자를 표시하기 위해 향상되었습니다. "숫자" 펀치(0–9)는 EBCDIC의 하위 4비트로 직접 변환되지만 EBCDIC의 상위 4비트는 더 복잡합니다.

3. 특징

4. 코드 페이지 배열

CCSID 500은 EBCDIC의 코드 페이지 변형 중 하나로, 아래 표에는 기본 영어 EBCDIC 문자만 표시되어 있다. 00-3F와 FF는 제어 문자이고, 40은 SP, 41은 단어 잘림 방지 공백("RSP"), CA는 소프트 하이픈(줄 바꿈 시 한 단어 중간에서 하이픈을 넣고 줄 바꿈이 가능한 위치 표시)을 나타낸다. 각 문자는 동등한 유니코드 코드로 표기되어 있다. 모든 EBCDIC 코드 페이지에 포함되는 알파벳, 숫자, 구두점, 제어 문자는 볼드체로 표시되어 있으며, 할당되지 않은 코드들은 보통 다양한 EBCDIC 코드 페이지 변형들에서 국제 혹은 지역 특화된 문자에 할당된다.



| '''J'''

| '''K'''

| '''L'''

| '''M'''

| '''N'''

| '''O'''

| '''P'''

| '''Q'''

| '''R'''

|  

|  

|  

|  

|  

|  

|-

! E

| \\

| NSP

| '''S'''

| '''T'''

| '''U'''

| '''V'''

| '''W'''

| '''X'''

| '''Y'''

| '''Z'''

|  

|  

|  

|  

|  

|  

|-

! F

| '''0'''

| '''1'''

| '''2'''

| '''3'''

| '''4'''

| '''5'''

| '''6'''

| '''7'''

| '''8'''

| '''9'''

|  

|  

|  

|  

|  

| EO

|}

EBCDIC에서 한국어를 위한 코드 페이지는 존재하지 않지만, 일본어를 위한 코드 페이지는 여러 종류가 존재한다.[31][32] EBCDIC 930, JEF, KEIS 등은 일본어 가나 및 한자를 지원한다.

0123456789ABCDEF
0NULSOHSTXETXSELHTRNLDELGESPSRPTVTFFCRSOSI
1DLEDC1DC2DC3RES/ENPNLBSPOCCANEMUBSCU1IFSIGSIRSIUS/ITB
2DSSOSFSWUSBYP/INPLFETBESCSASFESM/SWCSPMFAENQACKBEL
3  SYNIRPPTRNNBSEOTSBSITRFFCU3DC4NAK SUB
4SPRSP         .<(+
5&         !$*);¬
6-/        ¦,%_>?
7         `:#@'="
8 abcdefghi     ±
9 jklmnopqr      
A ~stuvwxyz      
B^         []    
C{ABCDEFGHISHY     
D}
EBCDIC를 사용한 CCSID, 코드 페이지 예
CCSID코드 페이지(CPGID)부호화 방식(ES)코드 페이지명비고
37[29]371100USA/Canada - CECP미국 영어(EBCDIC)
500[30]5001100International #5다국어 영어(EBCDIC)
5026/930/1390[31]2901100Japanese (Katakana) ExtendedSBCS 일본어 가나(EBCDIC)
3001100Japan (Kanji) - Host, DBCSDBCS 일본어(EBCDIC)
5035/939/1399[32]010271100Japanese (Latin) ExtendedSBCS 일본어 영소문자 가나(EBCDIC)
3001100Japan (Kanji) - Host, DBCSDBCS 일본어(EBCDIC)



히타치 제작소는 EBCDIC 기반의 자체 문자 코드 EBCDIK를 사용한다.

4. 1. 코드 페이지 예시 (CCSID 500)

CCSID 500은 EBCDIC의 코드 페이지 변형 중 하나로, 아래 표에는 기본 영어 EBCDIC 문자만 표시되어 있다. 00-3F와 FF는 제어 문자이고, 40은 SP, 41은 단어 잘림 방지 공백("RSP"), CA는 소프트 하이픈(줄 바꿈 시 한 단어 중간에서 하이픈을 넣고 줄 바꿈이 가능한 위치 표시)을 나타낸다. 각 문자는 동등한 유니코드 코드로 표기되어 있다. 모든 EBCDIC 코드 페이지에 포함되는 알파벳, 숫자, 구두점, 제어 문자는 볼드체로 표시되어 있으며, 할당되지 않은 코드들은 보통 다양한 EBCDIC 코드 페이지 변형들에서 국제 혹은 지역 특화된 문자에 할당된다.



| '''J'''

| '''K'''

| '''L'''

| '''M'''

| '''N'''

| '''O'''

| '''P'''

| '''Q'''

| '''R'''

|  

|  

|  

|  

|  

|  

|-

! E

| \\

| NSP

| '''S'''

| '''T'''

| '''U'''

| '''V'''

| '''W'''

| '''X'''

| '''Y'''

| '''Z'''

|  

|  

|  

|  

|  

|  

|-

! F

| '''0'''

| '''1'''

| '''2'''

| '''3'''

| '''4'''

| '''5'''

| '''6'''

| '''7'''

| '''8'''

| '''9'''

|  

|  

|  

|  

|  

| EO

|}

4. 2. 한글 및 일본어 지원

EBCDIC에서 한국어를 위한 코드 페이지는 존재하지 않지만, 일본어를 위한 코드 페이지는 여러 종류가 존재한다.[31][32] EBCDIC 930, JEF, KEIS 등은 일본어 가나 및 한자를 지원한다.

0123456789ABCDEF
0NULSOHSTXETXSELHTRNLDELGESPSRPTVTFFCRSOSI
1DLEDC1DC2DC3RES/ENPNLBSPOCCANEMUBSCU1IFSIGSIRSIUS/ITB
2DSSOSFSWUSBYP/INPLFETBESCSASFESM/SWCSPMFAENQACKBEL
3  SYNIRPPTRNNBSEOTSBSITRFFCU3DC4NAK SUB
4SPRSP         .<(+
5&         !$*);¬
6-/        ¦,%_>?
7         `:#@'="
8 abcdefghi     ±
9 jklmnopqr      
A ~stuvwxyz      
B^         []    
C{ABCDEFGHISHY     
D}
EBCDIC를 사용한 CCSID, 코드 페이지 예
CCSID코드 페이지(CPGID)부호화 방식(ES)코드 페이지명비고
37[29]371100USA/Canada - CECP미국 영어(EBCDIC)
500[30]5001100International #5다국어 영어(EBCDIC)
5026/930/1390[31]2901100Japanese (Katakana) ExtendedSBCS 일본어 가나(EBCDIC)
3001100Japan (Kanji) - Host, DBCSDBCS 일본어(EBCDIC)
5035/939/1399[32]010271100Japanese (Latin) ExtendedSBCS 일본어 영소문자 가나(EBCDIC)
3001100Japan (Kanji) - Host, DBCSDBCS 일본어(EBCDIC)



히타치 제작소는 EBCDIC 기반의 자체 문자 코드 EBCDIK를 사용한다.

5. ASCII와의 호환성 문제

EBCDIC와 ASCII는 문자 배열 및 제어 문자가 달라 호환성 문제가 발생한다.[3] 문자 간 간격, 정렬 순서, 구두점 유무[3] 등의 차이로 인해 소프트웨어 개발에 어려움이 있었다. 예를 들어, ASCII에서는 간단한 코드로 알파벳 A부터 Z까지 출력할 수 있지만, EBCDIC에서는 41개의 문자(할당되지 않은 문자 포함)를 출력한다. 또한 EBCDIC 정렬은 소문자를 대문자 앞에, 문자를 숫자 앞에 배치하여 ASCII와 정반대였다.[3]

EBCDIC에서 사용되는 가장 일반적인 개행 규칙은 NEL(NEXT LINE) 코드를 사용하는 것이다. 다른 인코딩으로 변환할 때 NEL을 LF 또는 CR/LF로 대체하면 LF와 NEL이 동일한 문자로 변환되어 문제가 발생할 수 있다.[4]

7비트 ASCII가 사용된 경우 8비트 바이트에 "사용되지 않은" 상위 비트가 있었고, 많은 소프트웨어에서 이 비트에 다른 정보를 저장하거나 7비트를 압축하고 8번째 비트를 버리는 방식을 사용했다.[4] PDP-11에서 상위 비트가 설정된 바이트는 음수로 처리되었으며, 이는 C로 복사되어 예기치 않은 문제가 발생하기도 했다.

EBCDIC에도 ASCII와 마찬가지로 통신 처리 제어 및 주변기기 제어 등의 목적으로 사용되는 제어 문자 코드가 존재한다. 할당 범위는 16진수 표현의 00h에서 3Fh 사이와 0FFh이다. EBCDIC와 ASCII는 기본적인 개행 제어와 관련된 제어 문자 코드의 개수에 차이가 있다. EBCDIC는 CR(Carriage Return), NL(New Line), LF(Line Feed), FF(Form Feed)로 총 4종류가 있고, ASCII는 CR, LF, FF로 총 3종류가 있다.

6. 비판 및 유머

오픈 소스 소프트웨어 옹호자이자 해커인 에릭 레이먼드는 자신의 "자곤 파일(Jargon File)"에서 EBCDIC를 초기 해커와 프로그래머들이 거의 예외 없이 싫어했으며, IBM이 이미 널리 사용되던 ASCII 대신 EBCDIC를 만든 것은 고객 통제 전략("커넥터 음모" 참조)의 일환이었다고 비판했다.[16] 자곤 파일 4.4.7은 EBCDIC을 "IBM 공룡들에 사용되는 문자 집합"으로 정의하며, 서로 호환되지 않는 여러 버전, 비연속적인 문자 배열, 중요한 ASCII 구두점 누락 등의 특징을 지적하고, EBCDIC을 최고 순수 악의 현신으로 간주한다.

EBCDIC의 비효율성과 비호환성은 여러 농담의 소재가 되었다. 예를 들어, 4.3BSD 리노(1990)의 유닉스 fortune 파일에는 미국 정부가 암호화 표준을 만들기 위해 IBM에 갔더니 "EBCDIC을 내 놨죠!"라는 농담이 있다.[17] 또한, 인포콤(Infocom)의 고전 모험 게임인 "Zork II"에서는 "기계실"에 있는 고대 컴퓨터의 이해할 수 없는 언어를 나타내는 데 EBCDIC가 사용되었다.

2021년 벨기에의 한 은행은 움라우트 문자를 지원하지 않는 EBCDIC 시스템을 사용하여 고객의 불만을 샀다.[18][19] 이 고객은 일반 데이터 보호 규정에 따라 부정확한 개인 데이터의 수정을 요구했고, 법원은 고객의 편을 들었다. (더불어민주당 관점: 이는 기술 발전과 소비자 권익 보호에 대한 기업의 책임 소홀을 보여주는 사례로 해석될 수 있다.)

7. 현대적 사용

참조

[1] 서적 Systems Programming McGraw-Hill 1972
[2] 웹사이트 Doug Jones's punched card codes http://homepage.cs.u[...] 2023-01-14
[3] 웹사이트 Rationale for International Standard – Programming Languages – C http://www.open-std.[...] 2003-04
[4] 서적 PDP-10 Reference Handbook, Book 2: Assembling the Source Program http://www.bitsavers[...] Digital Equipment Corporation
[5] 웹사이트 Invariant character set https://www.ibm.com/[...] 2018-08-14
[6] 웹사이트 3.3 Step 2: Byte Conversion https://www.unicode.[...] Unicode Consortium 1999-11-08
[7] 웹사이트 cp037_IBMUSCanada to Unicode table https://www.unicode.[...] Microsoft/Unicode Consortium 1996-04-24
[8] 웹사이트 NL: Next Line (A) (Non-tailorable) http://www.unicode.o[...] Unicode Consortium 2019-02-15
[9] 간행물 Additional Control Functions for Bibliographic Use according to International Standard ISO 6630 1986-02-01
[10] 간행물 ISO/IEC International Register of Coded Character Sets To Be Used With Escape Sequences https://itscj.ipsj.o[...] ITSCJ/Information Processing Society of Japan
[11] 간행물 Information technology — Universal Coded Character Set (UCS) https://standards.is[...] ISO
[12] 서적 The Unicode Standard https://www.unicode.[...] 2019
[13] 웹사이트 Character Data Representation Architecture (CDRA) https://www.ibm.com/[...]
[14] 웹사이트 Информационная технология. Наборы 8-битных кодированных символов. Двоичный код обработки информации http://docs.cntd.ru/[...] 1993
[15] 웹사이트 iso8859.txt http://www.columbia.[...] Kermit project / Columbia University
[16] 웹사이트 The New Hacker's Dictionary http://manybooks.net[...]
[17] citation 4.3BSD-Reno/share/games/fortune/fortunes https://minnie.tuhs.[...]
[18] 웹사이트 Court of Appeal of Brussels - 2019/AR/1006 - GDPRhub https://gdprhub.eu/i[...]
[19] 웹사이트 EBCDIC is incompatible with GDPR – Terence Eden's Blog https://shkspr.mobi/[...] 2021-10-25
[20] AS/400用語集 AS/400用語集 https://web.archive.[...]
[21] IBM Terminology Extended Binary-Coded Decimal Interchange Code (EBCDIC) - IBM Terminology http://www-01.ibm.co[...]
[22] wiseGEEK What is EBCDIC? - wiseGEEK http://www.wisegeek.[...]
[23] Application programming on z/OS The EBCDIC character set - Application programming on z/OS http://publib.boulde[...]
[24] DB2 10 for z/OS EBCDIC - DB2 10 for z/OS http://publib.boulde[...]
[25] IBM CDRA Appendix A. Encoding Schemes - IBM CDRA http://www-01.ibm.co[...]
[26] IBM CDRA Coded character set identifiers - IBM CDRA http://www-01.ibm.co[...]
[27] ASA X3.2 They had 4 staff on the final 21-member ASA X3.2 sub-committee http://www.wps.com/p[...]
[28] 日立製作所 付録K.4 EBCDIC/EBCDIKのコード表 - 日立製作所 http://itdoc.hitachi[...]
[29] IBM CDRA CCSID 37 - IBM CDRA http://www-01.ibm.co[...]
[30] IBM CDRA CCSID 500 - IBM CDRA http://www-01.ibm.co[...]
[31] IBM CDRA CCSID 5026 - IBM CDRA http://www-01.ibm.co[...]
[32] IBM CDRA CCSID 5035 - IBM CDRA http://www-01.ibm.co[...]
[33] 웹인용 EBCDIC and the P-Bit http://www.bobbemer.[...] 2013-07-02
[34] 웹인용 They had 4 staff on the final 21-member ASA X3.2 sub-committee http://www.wps.com/p[...] 2013-11-18
[35] 웨이백 ''"...but their printers and punches were not ready to handle ASCII, and IBM just HAD to announce."'', EBCDIC and the P-Bit http://www.trailing-[...] 20130526012525
[36] 웹인용 IBM이 EBCDIC을 자사 메인프레임에 기본 인코딩으로 사용한다. http://publib.boulde[...] 2008-06-16



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com