HOME

TheInfoList



OR:

Unified Hangul Code (UHC), or Extended Wansung, also known under
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
as Code Page 949 (Windows-949, MS949 or ambiguously CP949), is the Microsoft Windows
code page In computing, a code page is a character encoding and as such it is a specific association of a set of printable characters and control characters with unique numbers. Typically each number represents the binary value in a single byte. (In some c ...
for the
Korean language Korean (South Korean: , ''hangugeo''; North Korean: , ''chosŏnmal'') is the native language for about 80 million people, mostly of Korean descent. It is the official and national language of both North Korea and South Korea (geographica ...
. It is an extension of Wansung Code (
KS C 5601 KS X 1001, "''Code for Information Interchange (Hangul and Hanja)''", formerly called KS C 5601, is a South Korean coded character set standard to represent hangul and hanja characters on a computer. KS X 1001 is encoded by the most common l ...
:1987, encoded as
EUC-KR Extended Unix Code (EUC) is a multibyte character encoding system used primarily for Japanese, Korean, and simplified Chinese. The most commonly used EUC codes are variable-length encodings with a character belonging to an compliant coded chara ...
) to include all 11172 non-partial
Hangul The Korean alphabet, known as Hangul, . Hangul may also be written as following South Korea's standard Romanization. ( ) in South Korea and Chosŏn'gŭl in North Korea, is the modern official writing system for the Korean language. The l ...
syllables present in
Johab KS X 1001, "''Code for Information Interchange (Hangul and Hanja)''", formerly called KS C 5601, is a South Korean coded character set standard to represent hangul and hanja characters on a computer. KS X 1001 is encoded by the most common leg ...
(KS C 5601:1992 annex 3). This corresponds to the pre-composed syllables available in
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
2.0 and later. Wansung Code has the drawback that it only assigns codes for the 2350 precomposed Hangul syllables which have their own
KS X 1001 KS X 1001, "''Code for Information Interchange (Hangul and Hanja)''", formerly called KS C 5601, is a South Korean coded character set standard to represent hangul and hanja characters on a computer. KS X 1001 is encoded by the most common l ...
(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. 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. If considered separately, both the EUC-KR Hangul block and the UHC extended Hangul section are in Unicode order.


Terminology

Unified Hangul Code is not registered with
IANA The Internet Assigned Numbers Authority (IANA) is a standards organization that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System (DNS), media types, and other Interne ...
as a standard to communicate information over the Internet. Alternatives include
UTF-8 UTF-8 is a variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''. UTF-8 is capable of e ...
. However, the W3C/
WHATWG The Web Hypertext Application Technology Working Group (WHATWG) is a community of people interested in evolving HTML and related technologies. The WHATWG was founded by individuals from Apple Inc., the Mozilla Foundation and Opera Software, l ...
Encoding Standard used by
HTML5 HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
incorporates the Unified Hangul Code extensions into its definition of "EUC-KR". Microsoft assigns Windows-949 the label "ks_c_5601-1987", which properly applies to
KS X 1001 KS X 1001, "''Code for Information Interchange (Hangul and Hanja)''", formerly called KS C 5601, is a South Korean coded character set standard to represent hangul and hanja characters on a computer. KS X 1001 is encoded by the most common l ...
itself (
KS C 5601 KS X 1001, "''Code for Information Interchange (Hangul and Hanja)''", formerly called KS C 5601, is a South Korean coded character set standard to represent hangul and hanja characters on a computer. KS X 1001 is encoded by the most common l ...
being the original name of KS X 1001). The WHATWG treat the label "ks_c_5601-1987" interchangeably with "EUC-KR" with the intent of being "compatible with deployed content". The
Unicode Consortium The Unicode Consortium (legally Unicode, Inc.) is a 501(c)(3) non-profit organization incorporated and based in Mountain View, California. Its primary purpose is to maintain and publish the Unicode Standard which was developed with the intentio ...
'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". IBM's code page 949 is another, otherwise unrelated, extension of EUC-KR.
International Components for Unicode International Components for Unicode (ICU) is an open-source project of mature C/ C++ and Java libraries for Unicode support, software internationalization, and software globalization. ICU is widely portable to many operating systems and environ ...
(ICU) uses "cp949", "949" or "ibm-949" to refer to that IBM code page, and "ms949" or "windows-949" (or several variants of "ks_c_5601-1987") to refer to the Windows mapping of UHC. Python, by contrast, recognises "cp949", "949", "ms949" and "uhc" as labels for UHC, and does not include an IBM-949 codec. Out of the labels incorporating the code page number, the WHATWG recognise only "windows-949". 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 SBCS, or Single Byte Character Set, is used to refer to character encodings that use exactly one byte for each graphic character. An SBCS can accommodate a maximum of 256 symbols, and is useful for scripts that do not have many symbols or accented ...
Code page 1126 and
DBCS A double-byte character set (DBCS) is a character encoding in which either all characters (including control characters) are encoded in two bytes, or merely every graphic character not representable by an accompanying single-byte character set ...
Code page 1362. It differs in having a single byte mapping of 0x5C to the
Won sign The won sign , is a currency symbol. It represents the South Korean won, the North Korean won and, unofficially, the old Korean won. Appearance Its appearance is "W" (the first letter of "Won") with a horizontal strike going through the cent ...
(U+20A9); Windows maps 0x5C to U+005C (the Unicode code point for the
backslash The backslash is a typographical mark used mainly in computing and mathematics. It is the mirror image of the common slash . It is a relatively recent mark, first documented in the 1930s. History , efforts to identify either the origin of ...
) as in ASCII, although fonts often still render it as a Won sign. Unicode mapping of the wave dash (0xA1AD) also differs, with the IBM mapping favouring U+301C, while the Microsoft mapping favours U+223C (Tilde Operator). The IBM mapping for UHC is available as "ibm-1363" in ICU, whereas the ICU "windows-949" codec is referred to as IBM-1261 in some ICU source code comments.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.


Single byte codes

Following is the single-byte portion of the code page as defined by IBM. Similarly to
Code page 437 Code page 437 ( CCSID 437) is the character set of the original IBM PC (personal computer). It is also known as CP437, OEM-US, OEM 437, PC-8, or DOS Latin US. The set includes all printable ASCII characters as well as some accented letters ( d ...
, the
control code In computing and telecommunication, a control character or non-printing character (NPC) is a code point (a number) in a character set, that does not represent a written symbol. They are used as in-band signaling to cause effects other than t ...
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 The won sign , is a currency symbol. It represents the South Korean won, the North Korean won and, unofficially, the old Korean won. Appearance Its appearance is "W" (the first letter of "Won") with a horizontal strike going through the cent ...
.


Footnotes


References


External links


Microsoft's Reference for Windows-949Mapping of Windows-949 to Unicode
*International Components for Unicode (ICU) mapping files
ibm-1363_P110-1997.ucmibm-1363_P11B-1998.ucm
an
windows-949-2000.ucmICU demonstration for Windows-949 (with ASCII mappings)ICU demonstration for IBM-1363 (with 0x5C as Won sign)
{{Hangul Jamo 949 Encodings of Asian languages Korean-language computing Hangul