fbpx
Wikipedia

Unified Hangul Code

Unified Hangul Code (UHC),[2][a] or Extended Wansung,[4][b] also known under Microsoft Windows as Code Page 949 (Windows-949, MS949 or ambiguously CP949), is the Microsoft Windows code page for the Korean language. It is an extension of Wansung Code (KS C 5601:1987, encoded as EUC-KR) to include all 11172 non-partial Hangul syllables present in Johab (KS C 5601:1992 annex 3).[4][2] This corresponds to the pre-composed syllables available in Unicode 2.0 and later.

Unified Hangul Code
Layout of the Unified Hangul Code
Alias(es)
  • Windows Code Page 949
  • IBM Code Page 1363
Language(s)Korean
StandardWHATWG Encoding Standard (as "EUC-KR")[1]
Classification
ExtendsEUC-KR
Other related encoding(s)
  1. ^ Not in the strictest sense of the term, as ASCII bytes can appear as trail bytes, although this is limited to letter bytes.

Wansung Code has the drawback that it only assigns codes for the 2350 precomposed Hangul syllables which have their own KS X 1001 (KS C 5601) codepoints (out of 11172 in total, not counting those using obsolete jamo), and requires others to use eight-byte composition sequences, which are not supported by some partial implementations of the standard.[5] UHC resolves this by assigning single codes for all possible syllables constructed using modern jamo, by making assignments outside of the encoding space used for KS X 1001.

The lead byte range is extended to 0x81–FE, and the trail byte range is extended to 0x41–5A, 0x61–7A and 0x81–FE (in EUC-KR, both ranges are 0xA1–FE). The codes outside the EUC-KR ranges are used for the additional hangul.[6] If considered separately, both the EUC-KR Hangul block and the UHC extended Hangul section are in Unicode order.[1]

Terminology edit

Unified Hangul Code is not registered with IANA as a standard to communicate information over the Internet.[7] Alternatives include UTF-8. However, the W3C/WHATWG Encoding Standard used by HTML5 incorporates the Unified Hangul Code extensions into its definition of "EUC-KR".[1]

Microsoft assigns Windows-949 the label "ks_c_5601-1987",[8][9] which properly applies to KS X 1001 itself (KS C 5601 being the original name of KS X 1001).[10] The WHATWG treat the label "ks_c_5601-1987" interchangeably with "EUC-KR" with the intent of being "compatible with deployed content".[11] The Unicode Consortium's "OBSOLETE/EASTASIA" collection of withdrawn mappings included mappings for Unified Hangul Code as "KSC5601.TXT", with the automatically derived mappings for 7-bit KS X 1001 being included as "KSX1001.TXT".[12]

IBM's code page 949 is another, otherwise unrelated, extension of EUC-KR. International Components for Unicode (ICU) uses "cp949", "949" or "ibm-949" to refer to that IBM code page,[13] and "ms949" or "windows-949" (or several variants of "ks_c_5601-1987") to refer to the Windows mapping of UHC.[14] Python, by contrast, recognises "cp949", "949", "ms949" and "uhc" as labels for UHC, and does not include an IBM-949 codec.[15] Out of the labels incorporating the code page number, the WHATWG recognise only "windows-949".[11]

IBM's code page for Unified Hangul Code is called Code page 1363 (IBM-1363), or "Korean MS-Win". It is a combination of SBCS Code page 1126 and DBCS Code page 1362.[16][17][18][19][20] It differs in having a single byte mapping of 0x5C to the Won sign (U+20A9);[21][22][23] Windows maps 0x5C to U+005C (the Unicode code point for the backslash) as in ASCII,[14] although fonts often still render it as a Won sign.[24] Unicode mapping of the wave dash (0xA1AD) also differs, with the IBM mapping favouring U+301C,[25] while the Microsoft mapping favours U+223C (Tilde Operator).[26] The IBM mapping for UHC is available as "ibm-1363" in ICU,[21] whereas the ICU "windows-949" codec is referred to as IBM-1261 in some ICU source code comments.[27]

Single byte codes edit

Following is the single-byte portion of the code page as defined by IBM. Similarly to Code page 437, the control code bytes may be used as control codes or graphical codes depending on context—the graphical codes are shown below. Microsoft uses ASCII mappings for all ASCII bytes, although the backslash may still be rendered as a won sign.

Code page 1126[28][29][30][31]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL
1x
2x  SP  ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~
  Differences from code page 437

Footnotes edit

  1. ^ Korean: 통합형 한글 코드[3], romanizedTonghabhyeong Hangeul Kodeu
  2. ^ Korean: 확장 완성형, romanizedHwagjang Wanseonghyeong

References edit

  1. ^ a b c van Kesteren, Anne, "5. Indexes (§ index EUC-KR)", Encoding Standard, WHATWG
  2. ^ a b "INFO: Hangul (Korean) Character Sets", Microsoft Support, Microsoft
  3. ^ "한글 코드에 대하여" (in Korean). W3C.
  4. ^ a b Zsigri, Gyula (2002-06-18). "KSC and UHC".
  5. ^ Shin, Jungshik. "What are KS X 1001(KS C 5601) and other Hangul codes?". Hangul & Internet in Korea FAQ.
  6. ^ Lunde, Ken (13 January 2009). "Appendix F: Vendor encoding Methods" (PDF). CJKV Information Processing (2nd ed.). O'Reilly Media. ISBN 978-0-596-51447-1.
  7. ^ "Character Sets". Iana.org. Retrieved 2017-01-11.
  8. ^ "Encoding.WindowsCodePage Property - .NET Framework (current version)". MSDN. Microsoft.
  9. ^ "Code Page Identifiers", Windows Dev Center, Microsoft
  10. ^ IBM; Unicode Consortium. "convrtrs.txt". International Components for Unicode. v. 59180.0.1. <quote from="Jungshik Shin"> [...] using KS C 5601 or related names to denote EUC-KR or windows-949 is very much misleading [...] It's just the name of a 94 x 94 Korean coded character set standard which can be invoked on either GL (with MSB reset) or GR (with MSB set).
  11. ^ a b van Kesteren, Anne. "4.2. Names and labels". Encoding Standard. WHATWG.
  12. ^ Jungshik Shin. "KSX1001.TXT: KS X 1001 to Unicode table". Unicode, Inc.
  13. ^ "ibm-949_P110-1999 (alias cp949)", Converter Explorer, International Components for Unicode
  14. ^ a b "windows-949-2000", Converter Explorer, International Components for Unicode
  15. ^ "codecs — Codec registry and base classes § Standard Encodings". Python 3.7.2 documentation. Python Software Foundation.
  16. ^ , IBM Globalization, IBM, archived from the original on 2014-11-29
  17. ^ . Archived from the original on 2017-01-16.
  18. ^ . Archived from the original on 2016-03-27.
  19. ^ . Archived from the original on 2016-03-17.
  20. ^ . Archived from the original on 2016-03-27.
  21. ^ a b "ibm-1363", Converter Explorer, International Components for Unicode
  22. ^ Code Page CPGID 01126 (pdf) (PDF), IBM
  23. ^ Code Page CPGID 01126 (txt), IBM
  24. ^ Kaplan, Michael S. (2005-09-17), "When is a backslash not a backslash?", Sorting it all out
  25. ^ "ibm-1363_P110-1997 (lead byte A1)". ICU Demonstration - Converter Explorer. International Components for Unicode.
  26. ^ "windows-949-2000 (lead byte A1)". ICU Demonstration - Converter Explorer. International Components for Unicode.
  27. ^ See, for reference, ucnv_lmb.cpp (Brendan Murray, Jim Snyder-Grant), where the lead byte 0x11 is commented as referring to "Korean: ibm-1261" after the definition of ULMBCS_GRP_KO, but it is mapped to the "windows-949" ICU codec in the OptGroupByteToCPName array later in the file.
  28. ^ Code Page CPGID 01126 (pdf) (PDF), IBM
  29. ^ Code Page CPGID 01126 (txt), IBM
  30. ^ ICU Demonstration mapping IBM-1363 to Unicode
  31. ^ ICU Demonstration mapping IBM-1363C (ASCII based variant) to Unicode

External links edit

  • Microsoft's Reference for Windows-949
  • IBM's documentation for IBM-1363
  • Mapping of Windows-949 to Unicode
  • International Components for Unicode (ICU) mapping files: ibm-1363_P110-1997.ucm, ibm-1363_P11B-1998.ucm, and windows-949-2000.ucm
  • ICU demonstration for Windows-949 (with ASCII mappings)
  • ICU demonstration for IBM-1363 (with 0x5C as Won sign)
  • Visualization chart for Windows-949 in WHATWG Encoding Standard

unified, hangul, code, code, page, redirects, here, code, page, code, page, extended, wansung, also, known, under, microsoft, windows, code, page, windows, ms949, ambiguously, cp949, microsoft, windows, code, page, korean, language, extension, wansung, code, 5. Code page 949 redirects here For the IBM code page see Code page 949 IBM Unified Hangul Code UHC 2 a or Extended Wansung 4 b also known under Microsoft Windows as Code Page 949 Windows 949 MS949 or ambiguously CP949 is the Microsoft Windows code page for the Korean language It is an extension of Wansung Code KS C 5601 1987 encoded as EUC KR to include all 11172 non partial Hangul syllables present in Johab KS C 5601 1992 annex 3 4 2 This corresponds to the pre composed syllables available in Unicode 2 0 and later Unified Hangul CodeLayout of the Unified Hangul CodeAlias es Windows Code Page 949IBM Code Page 1363Language s KoreanStandardWHATWG Encoding Standard as EUC KR 1 ClassificationExtended ISO 646 a variable width encodingCJK encodingExtendsEUC KROther related encoding s KPS 9566 2003KPS 9566 2011 Not in the strictest sense of the term as ASCII bytes can appear as trail bytes although this is limited to letter bytes vte Wansung Code has the drawback that it only assigns codes for the 2350 precomposed Hangul syllables which have their own KS X 1001 KS C 5601 codepoints out of 11172 in total not counting those using obsolete jamo and requires others to use eight byte composition sequences which are not supported by some partial implementations of the standard 5 UHC resolves this by assigning single codes for all possible syllables constructed using modern jamo by making assignments outside of the encoding space used for KS X 1001 The lead byte range is extended to 0x81 FE and the trail byte range is extended to 0x41 5A 0x61 7A and 0x81 FE in EUC KR both ranges are 0xA1 FE The codes outside the EUC KR ranges are used for the additional hangul 6 If considered separately both the EUC KR Hangul block and the UHC extended Hangul section are in Unicode order 1 Contents 1 Terminology 2 Single byte codes 3 Footnotes 4 References 5 External linksTerminology editUnified Hangul Code is not registered with IANA as a standard to communicate information over the Internet 7 Alternatives include UTF 8 However the W3C WHATWG Encoding Standard used by HTML5 incorporates the Unified Hangul Code extensions into its definition of EUC KR 1 Microsoft assigns Windows 949 the label ks c 5601 1987 8 9 which properly applies to KS X 1001 itself KS C 5601 being the original name of KS X 1001 10 The WHATWG treat the label ks c 5601 1987 interchangeably with EUC KR with the intent of being compatible with deployed content 11 The Unicode Consortium s OBSOLETE EASTASIA collection of withdrawn mappings included mappings for Unified Hangul Code as KSC5601 TXT with the automatically derived mappings for 7 bit KS X 1001 being included as KSX1001 TXT 12 IBM s code page 949 is another otherwise unrelated extension of EUC KR International Components for Unicode ICU uses cp949 949 or ibm 949 to refer to that IBM code page 13 and ms949 or windows 949 or several variants of ks c 5601 1987 to refer to the Windows mapping of UHC 14 Python by contrast recognises cp949 949 ms949 and uhc as labels for UHC and does not include an IBM 949 codec 15 Out of the labels incorporating the code page number the WHATWG recognise only windows 949 11 IBM s code page for Unified Hangul Code is called Code page 1363 IBM 1363 or Korean MS Win It is a combination of SBCS Code page 1126 and DBCS Code page 1362 16 17 18 19 20 It differs in having a single byte mapping of 0x5C to the Won sign U 20A9 21 22 23 Windows maps 0x5C to U 005C the Unicode code point for the backslash as in ASCII 14 although fonts often still render it as a Won sign 24 Unicode mapping of the wave dash 0xA1AD also differs with the IBM mapping favouring U 301C 25 while the Microsoft mapping favours U 223C Tilde Operator 26 The IBM mapping for UHC is available as ibm 1363 in ICU 21 whereas the ICU windows 949 codec is referred to as IBM 1261 in some ICU source code comments 27 Single byte codes editFollowing is the single byte portion of the code page as defined by IBM Similarly to Code page 437 the control code bytes may be used as control codes or graphical codes depending on context the graphical codes are shown below Microsoft uses ASCII mappings for all ASCII bytes although the backslash may still be rendered as a won sign Code page 1126 28 29 30 31 0 1 2 3 4 5 6 7 8 9 A B C D E F 0x NUL 1x 2x SP amp 3x 0 1 2 3 4 5 6 7 8 9 lt gt 4x A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z 6x a b c d e f g h i j k l m n o 7x p q r s t u v w x y z Differences from code page 437Footnotes edit Korean 통합형 한글 코드 3 romanized Tonghabhyeong Hangeul Kodeu Korean 확장 완성형 romanized Hwagjang WanseonghyeongReferences edit a b c van Kesteren Anne 5 Indexes index EUC KR Encoding Standard WHATWG a b INFO Hangul Korean Character Sets Microsoft Support Microsoft 한글 코드에 대하여 in Korean W3C a b Zsigri Gyula 2002 06 18 KSC and UHC Shin Jungshik What are KS X 1001 KS C 5601 and other Hangul codes Hangul amp Internet in Korea FAQ Lunde Ken 13 January 2009 Appendix F Vendor encoding Methods PDF CJKV Information Processing 2nd ed O Reilly Media ISBN 978 0 596 51447 1 Character Sets Iana org Retrieved 2017 01 11 Encoding WindowsCodePage Property NET Framework current version MSDN Microsoft Code Page Identifiers Windows Dev Center Microsoft IBM Unicode Consortium convrtrs txt International Components for Unicode v 59180 0 1 lt quote from Jungshik Shin gt using KS C 5601 or related names to denote EUC KR or windows 949 is very much misleading It s just the name of a 94 x 94 Korean coded character set standard which can be invoked on either GL with MSB reset or GR with MSB set a b van Kesteren Anne 4 2 Names and labels Encoding Standard WHATWG Jungshik Shin KSX1001 TXT KS X 1001 to Unicode table Unicode Inc ibm 949 P110 1999 alias cp949 Converter Explorer International Components for Unicode a b windows 949 2000 Converter Explorer International Components for Unicode codecs Codec registry and base classes Standard Encodings Python 3 7 2 documentation Python Software Foundation Coded character set identifiers CCSID 1363 IBM Globalization IBM archived from the original on 2014 11 29 Code page 1126 information document Archived from the original on 2017 01 16 CCSID 1126 information document Archived from the original on 2016 03 27 Code page 1362 information document Archived from the original on 2016 03 17 CCSID 1362 information document Archived from the original on 2016 03 27 a b ibm 1363 Converter Explorer International Components for Unicode Code Page CPGID 01126 pdf PDF IBM Code Page CPGID 01126 txt IBM Kaplan Michael S 2005 09 17 When is a backslash not a backslash Sorting it all out ibm 1363 P110 1997 lead byte A1 ICU Demonstration Converter Explorer International Components for Unicode windows 949 2000 lead byte A1 ICU Demonstration Converter Explorer International Components for Unicode See for reference ucnv lmb cpp Brendan Murray Jim Snyder Grant where the lead byte 0x11 is commented as referring to Korean ibm 1261 after the definition of ULMBCS GRP KO but it is mapped to the windows 949 ICU codec in the OptGroupByteToCPName array later in the file Code Page CPGID 01126 pdf PDF IBM Code Page CPGID 01126 txt IBM ICU Demonstration mapping IBM 1363 to Unicode ICU Demonstration mapping IBM 1363C ASCII based variant to UnicodeExternal links editMicrosoft s Reference for Windows 949 IBM s documentation for IBM 1363 Mapping of Windows 949 to Unicode International Components for Unicode ICU mapping files ibm 1363 P110 1997 ucm ibm 1363 P11B 1998 ucm and windows 949 2000 ucm ICU demonstration for Windows 949 with ASCII mappings ICU demonstration for IBM 1363 with 0x5C as Won sign Visualization chart for Windows 949 in WHATWG Encoding Standard Retrieved from https en wikipedia org w index php title Unified Hangul Code amp oldid 1220503389, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.