Псевдоним(ы) |
|
---|---|
Язык(и) | корейский |
Создано | ИБМ |
Классификация | Расширенный ISO 646 , кодирование переменной ширины , кодирование CJK |
Расширяет | EUC-КР |
Предшествовал | Код страницы 944 |
Кодовая страница IBM 949 (IBM-949) — это кодировка символов , которая использовалась IBM для представления текста на корейском языке на компьютерах. Это кодировка переменной ширины , которая представляет символы из кода Wansung, определенного южнокорейским стандартом KS X 1001 в формате, совместимом с EUC-KR , но добавляет расширения IBM для дополнительных ханджа , дополнительных предварительно составленных слогов хангыля и определяемых пользователем символов .
При задании значений в шестнадцатеричном формате байты с 0x00 по 0x7F используются для однобайтовых символов KS X 1003 ( ISO 646 :KR), аналогичный набор для ASCII, но со знаком won вместо обратной косой черты. Байты с 0x80 по 0x84 используются для однобайтовых символов расширения IBM. Старшие байты с 0x8F по 0xA0 используются для двухбайтовых символов расширения IBM. Старшие байты с 0xA1 по 0xFE используются для кода Wansung ( символы KS X 1001 в форме EUC-KR, двухбайтовые), но с некоторым неиспользуемым пространством, открытым для определяемого пользователем использования.
Хотя обе иногда называются "cp949", IBM-949 отличается от кодовой страницы Windows 949 (IBM-1363), которая является унифицированным кодом Хангыль от Microsoft, другим расширением EUC-KR. Его также не следует путать с реализацией IBM простого EUC-KR ( IBM-970 ). Кодовая страница 949 в OS/2 — это кодовая страница IBM; однако существует сторонний патч для изменения этого. [1]
IBM-949 и Unified Hangul Code (Windows-949) известны как «кодовая страница 949» (или «cp949»), хотя они разделяют только подмножество EUC-KR. Ни один из них не имеет стандартизированной зарегистрированной в IANA метки для идентификации. Хотя UHC включен в стандарт кодирования WHATWG [2] с метками, включающими «windows-949», [3] IBM-949 не включен. Поэтому IBM-949 не разрешен в HTML5 .
Хотя значение метки "ibm-949" (и наоборот "windows-949" и "ms949") однозначно там, где эти метки поддерживаются, интерпретация меток кодировки "949" и "cp949" соответственно различается между реализациями. Например, International Components for Unicode использует "cp949", "949", "ibm-949" и "x-IBM949" для обозначения IBM-949, [4] и дополнительно метки "cp949c", "ibm-949c" и "x-IBM949C" для обозначения варианта, который использует немодифицированные отображения ASCII для 0x20–7E (что приводит к дублированию отображений для обратной косой черты), [5] в то время как (из меток, включающих номер кодовой страницы 949) только "ms949" и "windows-949" назначены для UHC. [6] Это отличается от Python , который распознает как «cp949», так и «949» (в дополнение к более явным «ms949» и «uhc», но не «windows-949») как метки для UHC и не включает кодек IBM-949. [7] Кодовая страница 949, используемая корейскими версиями OS/2 , является кодовой страницей IBM; для добавления поддержки всего набора корейских слогов Unicode существует сторонний патч, заменяющий ее кодовой страницей Microsoft. [1]
IBM-949 — это кодировка переменной ширины , определяемая как комбинация двух кодовых страниц фиксированной ширины : однобайтовой кодовой страницы 1088 и двухбайтовой кодовой страницы 951. [ 8] [9] [10]
Версия кодовой страницы 951 (DBCS-PC, т. е. двухбайтовый не- EUC не- EBCDIC код), двухбайтовый компонент для IBM-949, определена в пересмотренной версии IBM Corporate Specification CH 3-3220-125 от сентября 1992 года, вместе с кодовой страницей 834 (DBCS-Host, т. е. двухбайтовый EBCDIC код), которая является двухбайтовым компонентом кодовой страницы 933. [ 11] Эта версия кодовой страницы 949/951 считала весь диапазон ведущих байтов 0x8F–A0 определяемой пользователем областью и включала только стандартные назначения Wansung и определяемые пользователем области, таким образом не включая некоторые символы, которые включала кодовая страница 933/834. [11] Некоторые более поздние версии, такие как реализованная International Components for Unicode (ICU), сжимают определяемую пользователем область, чтобы включить эти символы в качестве расширений. [12]
Язык(и) | корейский |
---|---|
Расширяет | N-байтовый код хангыль |
Преобразует/Кодирует | Код страницы 933 |
Преемник | Кодовая страница IBM 949 |
Более ранняя редакция CH 3-3220-125 от октября 1989 года вместо этого определила кодовую страницу 926 как свой код DBCS-PC, который кодировал те же символы, что и IBM-834, в макете, отличающемся от IBM-951 и IBM-834, которые имели другой диапазон ведущих байтов и не были расширением EUC-KR. [11] IBM-926 был объединен с кодовой страницей 891 или кодовой страницей 1040 (соответственно 8-битный N-байтовый код хангыль и его расширение; сравните, как Shift JIS расширяет 8-битный JIS X 0201 ), чтобы сформировать IBM-934 или IBM-944 соответственно. [13] [14]
Кодовые страницы 944/926 теперь устарели в пользу IBM-949. Пересмотр 1992 года определяет кодовую страницу 926 как «ограниченную» («ограниченную конкретной средой, для которой [она] зарегистрирована») и не приводит ее диаграмму или сопоставления с другими кодовыми страницами, [11] а CCSID 944 классифицируется как «сосуществование и миграция» [14] (в отличие от «совместимого» для CCSID 949). [8] Международные компоненты для Unicode включают сопоставления Unicode для IBM-949 [4] [12] и IBM-933, но его сопоставление IBM-944 было удалено в 2001 году. [15]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | Э | Ф | |
0x | НУЛЕВОЙ | ┌ | ┐ | └ | ┘ | │ | ─ | • | ◘ | ○ | ◙ | ♂ | ♀ | ♪ | ♫ | ☼ |
1x | ┼ | ◄ | ↕ | ‼ | ¶ | ┴ | ┬ | ┤ | ↑ | ├ | → | ← | ∟ | ↔ | ▲ | ▼ |
2x | СП | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | А | Б | С | Д | Э | Ф | Г | ЧАС | я | Дж. | К | Л | М | Н | О |
5x | П | В | Р | С | Т | У | В | Вт | Х | И | З | [ | ₩ | ] | ^ | _ |
6x | ` | а | б | с | г | е | ф | г | час | я | дж | к | л | м | н | о |
7x | п | д | г | с | т | ты | в | ж | х | у | з | { | | | } | ~ | ⌂ |
8x | ¢ | ¬ | \ | ‾ | ¦ | 8Ф | ||||||||||
9x | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 9А | 9Б | 9С | 9Д | 9Е | 9Ф |
Топор | А0 | 1-_ | 2-_ | 3-_ | 4-_ | 5-_ | 6-_ | 7-_ | 8-_ | 9-_ | 10-_ | 11-_ | 12-_ | 13-_ | 14-_ | 15-_ |
Вх | 16-_ | 17-_ | 18-_ | 19-_ | 20-_ | 21-_ | 22-_ | 23-_ | 24-_ | 25-_ | 26-_ | 27-_ | 28-_ | 29-_ | 30-_ | 31-_ |
Сх | 32-_ | 33-_ | 34-_ | 35-_ | 36-_ | 37-_ | 38-_ | 39-_ | 40-_ | 41-_ | 42-_ | 43-_ | 44-_ | 45-_ | 46-_ | 47-_ |
Дкс | 48-_ | 49-_ | 50-_ | 51-_ | 52-_ | 53-_ | 54-_ | 55-_ | 56-_ | 57-_ | 58-_ | 59-_ | 60-_ | 61-_ | 62-_ | 63-_ |
Бывший | 64-_ | 65-_ | 66-_ | 67-_ | 68-_ | 69-_ | 70-_ | 71-_ | 72-_ | 73-_ | 74-_ | 75-_ | 76-_ | 77-_ | 78-_ | 79-_ |
Фх | 80-_ | 81-_ | 82-_ | 83-_ | 84-_ | 85-_ | 86-_ | 87-_ | 88-_ | 89-_ | 90-_ | 91-_ | 92-_ | 93-_ | 94-_ |
IBM-949 разработан для поддержки максимум 1880 UDC (пользовательских символов), [8] включая пользовательские строки (ведущие байты 0xC9 и 0xFE) плоскости Wansung и диапазоны за пределами плоскости Wansung. В этой версии ведущие байты 0x8F–A0 содержат максимум 1692 UDC, а ведущие байты 0xC9 и 0xFE содержат максимум 94 каждый (т. е. с байтами хвоста 0xA1–FE). [11] Однако, когда реализованы расширения для поддержки всего двухбайтового репертуара IBM-933 , они используют ведущие байты 0x9A–A0, что приводит к меньшему максимальному количеству символов, оставшихся для определения пользователем. [4] [12]
При сопоставлении с Unicode, 0xC9A1–C9FE (между диапазонами слога и ханджа) сопоставлены с кодовыми точками Unicode Private Use Area U+E000–E05D, в то время как 0xFEA1–FEFE (между концом диапазона ханджа и концом плоскости) сопоставлены с U+E05E–E0BB. За пределами плоскости Wansung, 0x8FA0–9AA5 (где второй байт находится в диапазоне 0xA1–FE) сопоставлены с кодовыми точками Private Use Area U+E0BC–E4CA. [4] Последний из этих диапазонов врезается в начало строки 0x9A (показано ниже).
В совокупности эти диапазоны частного использования охватывают кодовые точки U+E000–E4CA, позволяя преобразовывать 1227 UDC из IBM-949 в Unicode. [12] Отдельный диапазон областей частного использования U+F843–F86E используется IBM для преобразования некоторых символов в расширенном диапазоне ханджа. [12] Это следует ранним рекомендациям Консорциума Unicode о том, что корпоративные символы должны быть выделены от U+F8FF вниз, а определяемые пользователем символы должны быть выделены от U+E000 вверх, [18] и является частью более крупной схемы областей корпоративного частного использования, которая определяется внутри IBM и использует диапазон U+F83D–F8FF. [19] [20]
Согласно спецификации 1992 года, весь этот диапазон определяется пользователем. [11] Однако, как реализовано в кодеке, предоставленном IBM для ICU, 0x9AA1 по 0x9AA5 являются концом диапазона, определяемого пользователем. Остальная часть этого диапазона включает некоторые символы, не являющиеся хангыль, включенные в кодовую страницу 933 , но не в код Wansung. 0x9AA6 по 0x9AAB содержат различные технические или математические символы. Остальная часть содержит ханджа в дополнение к тем, которые включены в KS X 1001 , хотя некоторые из них сопоставлены IBM с областью частного использования. [12]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | Э | Ф | |
9AAx | | | | | | ǂ [а] | ≦ | ≧ | К | ¦ | ʺ | 喀 | 擱 | 羯 | 酣 | |
9ABx | 醵 | 骼 | 蒹 | 哽 | 扃 | 檠 | 熲 | 畊 | 稧 | 雞 | 杲 | 瞽 | 詁 | 栱 | 槓 | 箜 |
9ACx | 蝌 | 霍 | 盥 | 鸛 | 鉸 | 佝 | 傴 | 媾 | 嫗 | 晷 | 甌 | 覯 | 颶 | 掬 | 跪 | 巹 |
9ADx | да | 岌 | 笈 | 覇 | 鰭 | 唜 | 糯 | 喃 | 曩 | 迺 | 佞 | 獰 | 孥 | 鬧 | 靼 | 怛 |
9АЕх | 闥 | 韃 | 党 | 蟷 | 碓 | 菟 | И | Да | 肚 | 蚪 | я | 灯 | 鐙 | 犖 | 幱 | 埓 |
9AFx | да | 涼 | 魎 | 癘 | 膂 | 蠡 | 鑢 | 櫟 | 鬣 | Да | 泠 | Русский | 蛉 | 潦 | 艫 | |
9BAx | 轤 | 漉 | 祿 | 轆 | 籟 | 蕾 | 誄 | 寥 | 僂 | 髏 | 窿 | 凛 | 廩 | 提 | 漓 | |
9BBx | 离 | 螭 | 魑 | 痳 | 岦 | 媽 | 蟇 | 謾 | 鏝 | 鬘 | 魍 | 眛 | Русский | 脉 | 俛 | 耄 |
9BCx | 鉾 | 濛 | 矇 | 瀰 | 糜 | 閩 | 婆 | 欂 | 牔 | 胖 | 髣 | 魴 | 潘 | 翻 | 辟 | 汴 |
9BDx | 辮 | 遍 | 駢 | 彆 | 迸 | 鴇 | 黼 | 蝠 | 丰 | 葑 | 仆 | 罘 | Русский | 蜉 | 頫 | 鮒 |
9BEx | 吟 | 蕡 | 巿 | 髴 | 黻 | 妣 | 沙 | 沘 | 睥 | 篦 | 腓 | 轡 | 髀 | 擯 | 蘋 | 贇 |
9BFx | 顰 | 鬢 | Да | 麝 | да | 槎 | 笥 | 槊 | 鑠 | 歃 | 鍤 | 霎 | Я | 鰓 | 噬 | |
9CAx | 婿 | 齟 | 射 | 單 | 尠 | Я | 洗 | 燹 | 霰 | 偰 | 契 | да | 艘 | 霄 | 蟀 | |
9CBx | 瑣 | 叟 | 宿 | Я | 溲 | 祟 | 雎 | 鶉 | 虱 | 啻 | 寺 | 緦 | 矧 | 瑟 | 萼 | 贋 |
9CCx | 鴈 | я | 遏 | 嵒 | 諳 | 黯 | 鞅 | 欸 | Я | 礙 | 靉 | 阨 | 射 | 篛 | 籥 | 羘 |
9CDx | 敔 | да | 射 | 羨 | 臙 | 蠕 | Перевод | 塩 | 饜 | 嬰 | 睨 | 翳 | 蕋 | 遨 | 媼 | 薀 |
9CEx | 鰮 | 蕘 | 舂 | 蛹 | 吁 | 熨 | 蜿 | 幃 | 衞 | 囿 | 帷 | 蕤 | 黝 | 鬻 | 檼 | 珢 |
9CFx | 齦 | Да | Я | 頣 | 仞 | 眥 | 粢 | 耔 | 觜 | 赭 | 柞 | я | 蚕 | 嶂 | 瘴 | |
9DAx | 装 | 纔 | 柢 | 蛆 | 豬 | 糴 | 囀 | 巓 | 磚 | 翦 | 窃 | 椄 | 梃 | 晢 | 瑅 | |
9DBx | 踶 | 吊 | Да | Я | 竈 | 笊 | 糶 | 絛 | 鯛 | 樅 | 蹤 | 蔟 | 肘 | 隼 | 則 | 証 |
9DCx | 痣 | да | Да | 刱[б] | 悵 | Я | 簀 | 蜴 | 躑 | 濺 | 簷 | 蜻 | 砌 | 靆 | 峭 | 綃 |
9DDx | 鈔 | 鞘 | 數 | 躅 | 髑 | 怱 | 葱 | 摧 | Да | 甃 | 箒 | 鞦 | 麁 | 麤 | 杻 | 舳 |
9DEx | 冲 | 橇 | 贅 | 巵 | 徴 | 鵄 | 忱 | 拆 | 橐 | 駄 | 幀 | 蝙 | 庖 | 炮 | 舖 | 鉋 |
9DFx | 鞄 | Да | 蓖 | 蹕 | 瘧 | 邯 | 鷳 | 炕 | Да | Да | 篋 | 陜 | 皞 | 醐 | 鶻 |
Согласно спецификации 1992 года, весь этот диапазон определяется пользователем. [11] Как реализовано в кодеке, предоставленном IBM для ICU, 0x9EA1 по 0x9EAC содержат остаток расширенного ханджа. Остальная часть диапазона содержит несколько дополнительных слогов хангыль , которые недоступны в предварительно составленной форме в чистом EUC-KR . В отличие от Unified Hangul Code, этого недостаточно для поддержки всех нечастичных слогов Johab, отсутствующих в коде Wansung. [12]
Среди них наиболее значимыми являются 뢔 (0x9EFC), 쌰 (0x9FE6), 쎼 (0x9FED), 쓔 (0x9FF3) и 쬬 (0xA0C1), которые соответствуют началу стандартных символов Wansung 뢨, 썅, 쏀, 쓩 и 쭁 соответственно, когда они частично введены в редакторе метода ввода .
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | Э | Ф | |
9EAx | 鑊 | 圜 | 懽 | 鬟 | 媓 | 怳 | 囂 | 猴 | 篌 | 忻 | 迄 | 頡 | 갂 | 갋 | 걹 | |
9EBx | 겇 | 겓 | 곩 | 곺 | 괙 | 괨 | 괫 | 궛 | 귕 | 귬 | 긂 | 긏 | 긑 | 긧 | 긼 | 깄 |
9ECx | 깉 | 깢 | 꺠 | 꼄 | 꼳 | 꽌 | 꽘 | 꽛 | 꽨 | 꾓 | 꾲 | 꾿 | 꿘 | 꿧 | 뀍 | 뀡 |
9EDx | 끠 | Да | Да | 냬 | Да | 넞 | 녇 | 녓 | 녙 | 녯 | 녺 | 놧 | Да | 눳 | Да | Да |
9EEx | Да | Да | Да | Да | 덨 | 덪 | 뎜 | 돓 | 됀 | 됏 | 됬 | 둗 | 둿 | 뒴 | 듁 | 듧 |
9EFx | 딮 | 딲 | Да | 딿 | 땨 | 떄 | 뗴 | 뚀 | 뚸 | Да | 럐 | 렏 | Да | Да | 뤗 | |
9ФАкс | 릐 | 맟 | 맻 | 먜 | 멫 | 멭 | Да | Да | 뫃 | 뫠 | 믁 | 믕 | 믜 | 믠 | Да | |
9FBx | Да | Да | 뱜 | 뱨 | 벘 | 벜 | 벹 | Да | Да | 볓 | Да | 봣 | 붗 | 붴 | 븘 | 븡 |
9FCx | 븨 | 빋 | 뺜 | 뺴 | 뻭 | Да | 뻴 | 뻿 | 뼤 | Да | 뽸 | 뿀 | 뿕 | 뿝 | 뿨 | 쀄 |
9FDx | Да | Да | 쁴 | 삮 | да | 삻 | 샃 | Да | да | Да | 섿 | Я | 셗 | Да | Да | Да |
9FEx | да | Да | Да | да | Да | Да | Да | 썃 | Да | 썻 | Да | Да | Да | Да | 쏼 | Да |
9FFx | да | Да | да | да | Да | да | Да | 앟 | Да | Да | Да | да | да | да | Да | |
А0Акс | Да | Да | 웟 | Да | Да | Да | Да | да | Да | да | Да | 젹 | да | 좐 | 좜 | |
А0Бх | 좠 | 좬 | 좰 | 좸 | Да | Да | Я | 줫 | да | Да | да | Да | 쩗 | 쩰 | да | Да |
А0Сх | 쫒 | 쬬 | 쮀 | Да | 쯰 | Да | Да | Да | Да | 챂 | 챱 | 챼 | 쳣 | да | 쵀 | 췃 |
А0Дх | да | Да | 캗 | 캩 | Да | да | Да | да | да | да | да | да | 킈 | 턔 | 텠 | 텩 |
А0Ех | 퉷 | 튓 | 틍 | 틧 | 팊 | 팦 | 퍙 | 퍠 | 펲 | 펵 | 폇 | 퐤 | 풰 | 퓩 | 픅 | 픐 |
А0Фх | 픙 | 픠 | 픤 | 핟 | 핡 | 핬 | 핱 | 햬 | 헏 | 혬 | 횩 | 횸 | 훕 | 휌 | 흭 |
Соответствует стандарту KS X 1001 и унифицированному коду хангыль, более известному вместе как кодовая страница Windows 949.
IBM выделила 195 позиций от U+F83D до U+F8FF для использования в качестве IBM Corporate-zone и намерена использовать их последовательно в IBM всякий раз, когда возникает необходимость в сохранении целостности символов IBM при передаче.