서부 라틴 문자 집합(컴퓨팅)

Western Latin character sets (computing)

서유럽 공통 언어에 대한 8비트 문자 집합의 여러 이진 표현을 이 글에서 비교한다. 이러한 인코딩은 라틴 알파벳을 사용하는 이탈리아어, 스페인어, 포르투갈어, 프랑스어, 독일어, 네덜란드어, 영어, 덴마크어, 스웨덴어, 노르웨이어, 아이슬란드어 등을 표현하기 위해 고안되었으며, 사전 컴파일된 문자와 일부 문장 부호 및 다양한 기호(일부 그리스어 문자 포함)를 사용한다. 비록 그들이 "서유럽어"라고 불리고 있지만, 이러한 언어들 중 많은 것들이 전세계에서 사용되고 있다. 또한 이러한 문자 집합은 말레이어, 스와힐리어, 고전 라틴어와 같은 많은 다른 언어들을 지원하게 된다.

이 물질은 기능적으로 유니코드로 대체되어 기술적으로 구식이다. 그러나 그것은 역사적 관심을 계속 가지고 있다.

요약

ISO-8859 시리즈 8비트 문자 집합유럽에서 사용되는 모든 라틴 문자 집합을 인코딩하는데, 비록 동일한 코드 포인트가 여러 가지 용도를 가지고 있어서 (모지바케, 또는 왜곡된 문자, 통신 문제를 포함) 어려움을 유발한다. 모든 글리프에 대한 고유한 코드 포인트를 가진 유니코드의 도착은 이러한 문제들을 해결했다.

역사

이전의 7비트 미국 정보 교환 표준 코드('ASCII') 인코딩에는 영어, 라틴어, 말레이어, 스와힐리어와 같은 몇 개 언어만 적절히 나타낼 수 있는 충분한 문자가 있다. 다른 라틴어-알파벳 언어에서 사용되는 일부 문자와 문자-직교 조합이 누락되어 있다. 그러나 대부분의 미국 공급 컴퓨터 플랫폼에는 다른 선택이 없었기 때문에, 국가 컴퓨팅 산업이 강한 곳 외에는 ASCII를 사용할 수밖에 없었다. ASCII의 일부 기호를 로컬 문자로 대체하는 ISO 646의 인코딩 그룹이 있었지만 공간은 매우 제한적이었으며, 일부 기호는 프로그래밍 언어와 같은 것에서는 상당히 흔했다.

대부분의 컴퓨터는 내부적으로 8비트 바이트를 사용했지만 통신(본래적으로 신뢰할 수 없는 것으로 표시됨)은 7개의 데이터 비트와 1개의 패리티 비트를 사용하였다. 시간이 지남에 따라 8비트를 모두 데이터로 사용하는 것이 일반화 되어 128자를 위한 공간을 만들었다. 초기에는 이들 중 대부분은 시스템별로 다르지만 점차 ISO/IEC 8859 표준이 등장하여 정보 교환이 가능하도록 약간의 교차 플랫폼 유사성을 제공하였다.

20세기 말에 이르러 스토리지와 메모리 비용이 떨어지면서 주어진 8비트 코드(ISO-라틴 코드 세트만 7개)의 다중 의미와 관련된 문제들이 정당화되지 않게 되었다. 모든 주요 운영 체제는 주요 내부 표현으로서 유니코드로 이동했다. 그러나 윈도우는 유니코드를 인코딩하는 UTF-8 방법(UTF-16을 선호함)을 지원하지 않았기 때문에, 많은 어플리케이션들이 이러한 레거시 문자 집합으로 계속 제한되었다.

유로 부호

유로화와 유로 부호는 유로 부호(€)를 지지해야 하는 상당한 압력을 도입했고, 대부분의 8비트 문자 세트는 어떤 식으로든 적응해야 했다.

  • 맥로맨이 탑재된 애플과 솔라리스 OS가 탑재된 선마이크로시스템스가 일반 통화표지판(¤)을 간단히 대체했다. 이것은 조직들이 회사 로고와 같은 다른 용도를 발견했기 때문에 상당한 어려움을 야기했다.
  • ISO는 ISO 8859, ISO 8859-15의 추가 변형을 도입하였는데, 이 변형은 일반 통화 부호를 유로 부호로 대체하고 일부 다른 기호를 분음 부호로 대체하였다. ISO 8859-15는 광범위한 채택을 받은 적이 없다.
  • 윈도우-1252로 마이크로소프트는 유로 표지를 기존 C1 제어 코드의 틈새(위치 80hex)에 배치했다.

U+20AC(10진수 8364)에서 유로 부호를 인코딩하는 유니코드를 표준으로 지원하는 운영체제가 업그레이드되면서 이 모든 문제가 해결됐다.

비교표

코드 포인트 U+0000 ~ U+007F는 여기에 나열된 모든 문자 집합에서 직접 매핑되므로 현재 이 표에 표시되지 않는다. ASCII 코딩 표준은 처음 0-127자 매핑에 대한 원래 규격을 정의한다.

테이블은 유니코드 코드 포인트로 배열되어 있다. 문자 집합은 대문자IANA 이름으로 여기서 언급된다.

캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
NBSP U+00A0 A0 A0 A0 FF FF CA
¡ U+00A1 A1 A1 A1 AD AD C1
¢ U+00A2 A2 A2 A2 9B BD A2
£ U+00A3 A3 A3 A3 9C 9C A3
¤ U+00A4 A4 A4 CF
¥ U+00A5 A5 A5 A5 9D 있다 B4
¦ U+00A6 A6 A6 DD
§ U+00A7 A7 A7 A7 F5 A4
¨ U+00A8 A8 A8 F9 AC
© U+00A9 A9 A9 A9 B8 A9
ª U+00AA AA. AA. AA. A6 A6 BB
« U+00AB AB AB AB AE AE C7
¬ U+00AC AC AC AC AA. AA. C2
샤이 U+00AD AD AD AD F0
® U+00AE AE AE AE A9 A8
¯ U+00AF AF AF AF EE F8
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
° U+00B0 B0 B0 B0 F8 F8 A1
± U+00B1 B1 B1 B1 F1 F1 B1
² U+00B2 B2 B2 B2 FD FD
³ U+00B3 B3 B3 B3 FC
´ U+00B4 B4 B4 EF AB
µ U+00B5 B5 B5 B5 E6 E6 B5
U+00B6 B6 B6 B6 F4 A6
· U+00B7 B7 B7 B7 FA FA E1
¸ U+00B8 B8 B8 F7 FC
¹ U+00B9 B9 B9 B9 FB
º U+00BA BA BA BA A7 A7 기원전
» U+00BB BB BB BB AF AF C8
¼ U+00BC 기원전 기원전 AC AC
½ U+00BD BD BD AB AB
¾ U+00BE 있다 있다 F3
¿ U+00BF BF BF BF A8 A8 C0
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
À U+00C0 C0 C0 C0 B7 CB
Á U+00C1 C1 C1 C1 B5 E7
 U+00C2 C2 C2 C2 B6 E5
à U+00C3 C3 C3 C3 C7 CC
Ä U+00C4 C4 C4 C4 8E 8E 80
Å U+00C5 C5 C5 C5 8층 8층 81
Æ U+00C6 C6 C6 C6 92 92 AE
Ç U+00C7 C7 C7 C7 80 80 82
È U+00C8 C8 C8 C8 D4 E9
É U+00C9 C9 C9 C9 90 90 83
Ê U+00CA CA CA CA D2 E6
Ë U+00CB CB CB CB D3 E8
Ì U+00CC CC CC CC DE ED
Í U+00CD CD CD CD D6 EA
Î U+00CE CE CE CE D7 EB
Ï U+00CF CF CF CF D8 EC
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
Ð U+00D0 D0 D0 D0 D1
Ñ U+00D1 D1 D1 D1 A5 A5 84
Ò U+00D2 D2 D2 D2 E3 F1
Ó U+00D3 D3 D3 D3 E0 EE
Ô U+00D4 D4 D4 D4 E2 EF
Õ U+00D5 D5 D5 D5 E5 CD
Ö U+00D6 D6 D6 D6 99 99 85
× U+00D7 D7 D7 D7 9E
Ø U+00D8 D8 D8 D8 9D AF
Ù U+00D9 D9 D9 D9 EB F4
Ú U+00DA DA DA DA E9 F2
Û U+00DB DB DB DB EA F3
Ü U+00DC DC DC DC 9A 9A 86
Ý U+00DD DD DD DD ED
Þ U+00DE DE DE DE E8
ß U+00DF DF DF DF E1 E1 A7
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
à U+00E0 E0 E0 E0 85 85 88
á U+00E1 E1 E1 E1 A0 A0 87
â U+00E2 E2 E2 E2 83 83 89
ã U+00E3 E3 E3 E3 C6 8B
ä U+00E4 E4 E4 E4 84 84 8A
å U+00E5 E5 E5 E5 86 86 8C
æ U+00E6 E6 E6 E6 91 91 있다
ç U+00E7 E7 E7 E7 87 87 8D
è U+00E8 E8 E8 E8 8A 8A 8층
é U+00E9 E9 E9 E9 82 82 8E
ê U+00EA EA EA EA 88 88 90
ë U+00EB EB EB EB 89 89 91
ì U+00EC EC EC EC 8D 8D 93
í U+00ED ED ED ED A1 A1 92
î U+00EE EE EE EE 8C 8C 94
ï U+00EF EF EF EF 8B 8B 95
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
ð U+00F0 F0 F0 F0 D0
ñ U+00F1 F1 F1 F1 A4 A4 96
ò U+00F2 F2 F2 F2 95 95 98
ó U+00F3 F3 F3 F3 A2 A2 97
ô U+00F4 F4 F4 F4 93 93 99
õ U+00F5 F5 F5 F5 E4 9B
ö U+00F6 F6 F6 F6 94 94 9A
÷ U+00F7 F7 F7 F7 F6 F6 D6
ø U+00F8 F8 F8 F8 9B BF
ù U+00F9 F9 F9 F9 97 97 9D
ú U+00FA FA FA FA A3 A3 9C
û U+00FB FB FB FB 96 96 9E
ü U+00FC FC FC FC 81 81 9층
ý U+00FD FD FD FD EC
þ U+00FE FE FE FE E7
ÿ U+00FF FF FF FF 98 98 D8
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
ı U+0131 D5 F5
Œ U+0152 기원전 8C CE
œ U+0153 BD 9C CF
Š U+0160 A6 8A
š U+0161 A8 9A
Ÿ U+0178 있다 9층 D9
Ž U+017D B4 8E
ž U+017E B8 9E
ƒ U+0192 83 9층 9층 C4
ˆ U+02C6 88 F6
ˇ U+02C7 FF
˘ U+02D8 F9
˙ U+02D9 FA
˚ U+02DA FB
˛ U+02DB FE
˜ U+02DC 98 F7
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
˝ U+02DD FD
Γ U+0393 E2
Θ U+0398 E9
Σ U+03A3 E4
Φ U+03A6 E8
Ω U+03A9 EA BD
α U+03B1 E0
δ U+03B4 EB
ε U+03B5 EE
π U+03C0 E3 B9
σ U+03C3 E5
τ U+03C4 E7
φ U+03C6 ED
U+2013 96 D0
U+2014년 97 D1
U+2017 F2
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
U+2018 91 D4
U+2019 92 D5
U+201A 82 E2
U+201C 93 D2
U+201D 94 D3
U+201E 84 E3
U+2020 86 A0
U+2021 87 E0
U+2022 95 A5
U+2026 85 C9
U+2030 89 E4
U+2039 8B DC
U+203A 9B DD
U+2044 DA
U+207F FC
U+20A7 9E
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
U+20AC A4 80 (D5)[nb 1][2][3] DB
U+2122 99 AA.
U+2202 B6
U+2206 C6
U+220F B8
U+2211 B7
U+2219 F9
U+221A FB C3
U+221E EC B0
U+2229 EF
U+222B BA
U+2248 F7 C5
U+2260 AD
U+2261 F0
U+2264 F3 B2
U+2265 F2 B3
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
U+2310 A9
U+2320 F4
U+2321 F5
U+2500 C4 C4
U+2502 B3 B3
U+250C DA DA
U+2510 BF BF
U+2514 C0 C0
U+2518 D9 D9
U+251C C3 C3
U+2524 B4 B4
U+252C C2 C2
U+2534 C1 C1
U+253C C5 C5
U+2550 CD CD
U+2551 BA BA
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
U+2552 D5
U+2553 D6
U+2554 C9 C9
U+2555 B8
U+2556 B7
U+2557 BB BB
U+2558 D4
U+2559 D3
U+255A C8 C8
U+255B 있다
U+255C BD
U+255D 기원전 기원전
U+255E C6
U+255F C7
U+2560 CC CC
U+2561 B5
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
U+2562 B6
U+2563 B9 B9
U+2564 D1
U+2565 D2
U+2566 CB CB
U+2567 CF
U+2568 D0
U+2569 CA CA
U+256A D8
U+256B D7
U+256C CE CE
U+2580 DF DF
U+2584 DC DC
U+2588 DB DB
U+258C DD
U+2590 DE
캐릭터 코드 포인트 ISO-8859-1 ISO-8859-15 윈도-1252 IBM437 IBM850 매킨토시
U+2591 B0 B0
U+2592 B1 B1
U+2593 B2 B2
U+25A0 FE FE
U+25CA D7
U+FB01 DE
U+FB02 DF
  • IBM 코드 페이지에 대한 매핑은 Microsoft가 제공하는 유니코드 사이트에서 가져온 것이다. 이러한 코드 페이지에 대한 IBM과 Microsoft의 매핑 간의 차이점에 대해서는 유니코드 컨소시엄의 문서를 참조하십시오.
  • IBM437 및 IBM850은 제어 코드 범위에 대해 인쇄 가능한 문자를 정의했다. DOS를 통해 텍스트를 인쇄할 때는 화면에 도달하기 전에 갇히게 되므로 사용할 수 없지만, 화면 메모리를 직접 사용하는 애플리케이션에서는 사용할 수 있었다.
  • 매킨토시는 0xF0에 Apple 로고 를 가지고 있으며, 유니코드를 위한 Private Use Area에서 U+F8FF로 번역한다.

메모들

  1. ^ 1998년 발표된 IBM의 PC DOS 2000은 새로운 코드 페이지 858에 대한 지원을 추가하는 대신 코드 포인트 213의 유로 부호를 포함하여 코드 페이지 850에 대한 정의를 현재 수정된 코드 페이지 850으로 변경했다. 그 이유는 MS-DOS/PC DOS에 따른 코드 페이지 전환 논리 구현의 기존 제한사항으로 인해 제한되었을 수 있다.CPI 파일은 크기가 64KB이거나 최대 약 6개의 코드 페이지에 저장되는데, 이는 Windows NT에서 MS-DOS의 일부 OEM 버전에서 우회되었으며 DR-DOS에도 존재하지 않는다. 또한 MS-DOS/PC DOS의 파서는 Country에서 가능한 국가/코드 페이지 항목의 수를 제한한다.SYS 파일은 최대 146 또는 438로, DR-DOS에는 존재하지 않는 제한 사항. 따라서 코드 페이지 858에 대한 지원을 추가하는 것은 다른 애플리케이션(예: 코드 페이지 850)을 동시에 떨어뜨리는 것을 의미했을 수 있는데, 이는 일부 애플리케이션이 코드 페이지 850을 사용하도록 유선 연결되었다는 점에서 당시 실행 가능한 해결책이 아닐 수 있었다.

참조

  1. ^ "00858". Code pages by CPGID. IBM. Archived from the original on 2016-06-06. Retrieved 2016-06-06.
  2. ^ Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification based on fd-dev post [1]). Archived from the original on 2016-06-06. Retrieved 2016-06-06. The new official ID for the Multilingual "codepage 850 with EURO SIGN" is 858, not 850. IBM will switch to use 858 instead of their 850 variant with future issues of their products. [...] I can only guess why they didn't add 858 to their EGAx.CPI, COUNTRY.SYS, and KEYBOARD.SYS files in PC DOS 2000. Many third-party applications are designed to work with 850 and didn't know about 858 at the time PC DOS 2000 was released, so it's easier for everyone, but unfortunately it's not compatible. [...] As explained above, COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country, in theory there is no limit below the range of allowed codepages 1..65534). [...] The problem is that removing support for 850 might have caused compatibility problems with applications which are hard-wired to use 850. Adding 858 as a third choice to all the files would have increased the file and table sizes significantly. The COUNTRY.SYS file parser in MS-DOS/PC DOS IO.SYS/IBMBIO.COM sets aside a 6 Kb (for DOS 6) scratchpad to load all the info. This allows a maximum of 438 entries in a COUNTRY.SYS file to be accepted, otherwise you will get the message "COUNTRY.SYS too large.". The NLSFUNC parser does not have this limitation, and the file parsers in DR-DOS (kernel and NLSFUNC) also do not know of such a restriction. Older issues of MS-DOS/PC DOS even had a 2 Kb buffer for a maximum of 146 entries.
  3. ^ Paul, Matthias R. (2001-08-27). "Changing codepages in FreeDOS (follow-up)". Archived from the original on 2014-10-01. Retrieved 2013-05-08. [...] one could also create custom .CPI files in the traditional FONT style without difficulties, but you could only store up to [...] six codepages in such a file if it should be useable by MS-DOS/PC DOS (some OEM issues and NT can handle files larger than 64 Kb, but MS-DOS/PC DOS can not).