コードページ850
Enhanced Graphics Adapterによって通常表示される9×14のグリフによるコードページ850の文字セット | |
別名 |
DOS Latin 1, OEM 850 |
---|---|
言語 | 英語、その他多種 |
区分 | 拡張ASCII, OEMコードページ |
拡張元 | US-ASCII |
ベース | OEM-US |
変換、エンコード対象 | ISO/IEC 8859-1 (順番はかえられている) |
コードページ850(CP 850やIBM 00850[1]、OEM 850[2]、DOS Latin 1[3]とも知られている)は西ヨーロッパでDOSやPSIONによるEPOC16の下で使われているコードページである。国設定やシステム設定によって、英語が話されている多様な地域(例えばイギリスやアイルランド、カナダ内)を含む多くの国ではコードページ850が主なコードページとして標準のOEMコードページになるが、(アメリカのように)英語が話されている他の地域ではハードウェアコードページであるコードページ437が標準で使われる[4]。
コードページ850はシステムによって初めにWindows-1252(よくISO-8859-1と誤表記される)に置き換えられ、次にUCS-2に置き換えられ、最終的にはUTF-16に置き換えられた。 [脚注 1]
罫線素片やギリシア文字、様々な記号がダイアクリティカルマークつきのラテン文字を追加して置換されたことにより、西ヨーロッパ言語(ISO 8859-1からのすべての文字が含まれる)のサポートが大幅に向上している点でコードページ850はコードページ437と異なる。同時に、テキストモードでGUI風の画面を表示するために罫線素片を使用していたプログラムによる表示上の不具合がこの変更によってよく発生した。
1998年には、コードページ858がこのコードページからコードポイント213(D5hex)を点のないi‹ı›からユーロ記号‹€›に変更した派生としてできた[5]。これにもかかわらず、1998年にリリースされたIBMのPC DOS 2000は新しいコードページであるコードページ858のサポートを加えるのでなくコードページ850の定義を修正コードページ850と呼ばれるものにしてコードポイント213番にユーロ記号を含めるようにした。 [脚注 2] [7][6][8]
文字セット
[編集]コードページ850は次の表に表される。[2][9]対応するUnicodeのコードポイントと十進法によるコードポイントが各文字とあわせて表示される。表の最初の半分(0から127のコードポイント)はASCIIと同じであるため、後の半分(128番から255番のコードポイント)のみを表示する。なお1番から31番のコードポイントと127番のコードポイント(01–1Fhexと7Fhex)は状況によってASCII制御文字であったりコードページ437のグラフィック文字のどちらかになる[1]。
凡例:
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
_ | 8Ç 00C7 128 |
ü 00FC 129 |
é 00E9 130 |
â 00E2 131 |
ä 00E4 132 |
à 00E0 133 |
å 00E5 134 |
ç 00E7 135 |
ê 00EA 136 |
ë 00EB 137 |
è 00E8 138 |
ï 00EF 139 |
î 00EE 140 |
ì 00EC 141 |
Ä 00C4 142 |
Å 00C5 143 |
_ | 9É 00C9 144 |
æ 00E6 145 |
Æ 00C6 146 |
ô 00F4 147 |
ö 00F6 148 |
ò 00F2 149 |
û 00FB 150 |
ù 00F9 151 |
ÿ 00FF 152 |
Ö 00D6 153 |
Ü 00DC 154 |
ø 00F8 155 |
£ 00A3 156 |
Ø 00D8 157 |
× 00D7 158 |
ƒ 0192 159 |
_ | Aá 00E1 160 |
í 00ED 161 |
ó 00F3 162 |
ú 00FA 163 |
ñ 00F1 164 |
Ñ 00D1 165 |
ª 00AA 166 |
º 00BA 167 |
¿ 00BF 168 |
® 00AE 169 |
¬ 00AC 170 |
½ 00BD 171 |
¼ 00BC 172 |
¡ 00A1 173 |
« 00AB 174 |
» 00BB 175 |
_ | B░ 2591 176 |
▒ 2592 177 |
▓ 2593 178 |
│ 2502 179 |
┤ 2524 180 |
Á 00C1 181 |
 00C2 182 |
À 00C0 183 |
© 00A9 184 |
╣ 2563 185 |
║ 2551 186 |
╗ 2557 187 |
╝ 255D 188 |
¢ 00A2 189 |
¥ 00A5 190 |
┐ 2510 191 |
_ | C└ 2514 192 |
┴ 2534 193 |
┬ 252C 194 |
├ 251C 195 |
─ 2500 196 |
┼ 253C 197 |
ã 00E3 198 |
à 00C3 199 |
╚ 255A 200 |
╔ 2554 201 |
╩ 2569 202 |
╦ 2566 203 |
╠ 2560 204 |
═ 2550 205 |
╬ 256C 206 |
¤ 00A4 207 |
_ | Dð 00F0 208 |
Ð 00D0 209 |
Ê 00CA 210 |
Ë 00CB 211 |
È 00C8 212 |
ı 0131 213 |
Í 00CD 214 |
Î 00CE 215 |
Ï 00CF 216 |
┘ 2518 217 |
┌ 250C 218 |
█ 2588 219 |
▄ 2584 220 |
¦ 00A6 221 |
Ì 00CC 222 |
▀ 2580 223 |
_ | EÓ 00D3 224 |
ß 00DF 225 |
Ô 00D4 226 |
Ò 00D2 227 |
õ 00F5 228 |
Õ 00D5 229 |
µ 00B5 230 |
þ 00FE 231 |
Þ 00DE 232 |
Ú 00DA 233 |
Û 00DB 234 |
Ù 00D9 235 |
ý 00FD 236 |
Ý 00DD 237 |
¯ 00AF 238 |
´ 00B4 239 |
_ | FSHY 00AD 240 |
± 00B1 241 |
‗ 2017 242 |
¾ 00BE 243 |
¶ 00B6 244 |
§ 00A7 245 |
÷ 00F7 246 |
¸ 00B8 247 |
° 00B0 248 |
¨ 00A8 249 |
· 00B7 250 |
¹ 00B9 251 |
³ 00B3 252 |
² 00B2 253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
関連項目
[編集]脚注
[編集]- ^ 初めからUnicodeはWindows NT系でネイティブなサポートがなされていたが、開発ツールのサポートやWindows 9x系との互換性の問題によって多くのアプリケーションは8ビットのコードページを使い続けた。
- ^ この原因はMS-DOS/PC DOSの下でのコードページの切り替えロジックの実装上での制限にさかのぼれる可能性がある。MS-DOS/PC DOSでは.CPIファイルはサイズで64KB、最多で6つのコードページという制限があり、この制限はMS-DOSの一部のOEM版やWindows NTでは回避されており、DR-DOSには存在もしていなかった[6]。加えて、DR-DOSに存在しない制限としてCOUNTRY.SYS中の国/コードページは最大で146つまたは438つにMS-DOS/PC DOSのパーサーによって制限されている。[7]そのため、コードページ858のサポートを加えることは同時に他のコードページ(例 コードページ850)のサポートを止めるということにもなりえた。一部のアプリケーションはコードページ850を使うようにハードコードされていたことを踏まえると、それは当時実行可能な解決方法ではなかったのかもしれない。(訳注: 翻訳時点 (2018-8-18) ではここの出典をコメントアウトされて原文に記載されています。)
参考文献
[編集]- ^ a b “00850”. Code pages by CPGID. IBM. 2016年6月6日時点のオリジナルよりアーカイブ。2016年6月6日閲覧。
- ^ a b “OEM 850”. Go Global Developer Center. マイクロソフト. 2016年6月6日時点のオリジナルよりアーカイブ。2016年6月6日閲覧。
- ^ “Code Page 850 MS-DOS Latin 1”. Developing International Software. マイクロソフト. 2016年6月6日閲覧。
- ^ Paul, Matthias (1997-07-30). “II.16.iii. Landessprachliche Unterstützung - Landescodes und Keyboard-Kürzel [II.16.iii. National language support - Country codes and keyboard layout IDs]” (ドイツ語). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds (e-book) (edition 3, release 157 ed.) 2016年6月6日閲覧。 (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.)
- ^ “00858”. Code pages by CPGID. IBM. 2016年6月6日時点のオリジナルよりアーカイブ。2016年6月6日閲覧。
- ^ a b Paul, Matthias (2001年8月27日). “Changing codepages in FreeDOS (follow-up)”. 2013年5月8日閲覧。 “[…] 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).”
- ^ a b Paul, Matthias (2001年8月15日). “Changing codepages in FreeDOS”. 2016年6月6日時点のオリジナルよりアーカイブ。2016年6月6日閲覧。 “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.” (訳注: 引用部分の翻訳: 多言語用の「ユーロ記号があるコードページ850」の新たな公式識別名は850ではなく858です。IBMは製品に将来的に問題がおこるIBMのコードページ850の派生ではなくコードページ858を使うようにするでしょう。[...]ただどうしてPC DOS 2000のEGAx.CPIやCOUNTRY.SYS、KEYBOARD.SYSファイルにコードページ858を加えなかったのか推測できます。PC DOS 2000がリリースされたとき、多くのサードパーティーのアプリケーションはコードページ850で動くように設計されていてコードページ858のことはわかりませんでした。そのためそうしたほうがだれにとっても楽なのですが不幸なことに互換性がありません。[...]上記で説明した通りにDOSは西洋向けではCOUNTRY.SYSとKEYBOARD.SYSは対象国向けには2つしかコードページの登録がありません。(アラビア語やヘブライ語向けのリリースでは一つの国にたいして最大で8つのコードページが含まれます。理屈上は1から65534の認められたコードページの範囲内では制限がありません。)[...]問題になるのはコードページ850のサポートをなくすことはコードページ850を使うようにハードコーディングされているアプリケーションとの互換性問題をおこす可能性があるということです。新たな選択肢としてコードページ858を増やすとファイルやテーブルのサイズが大きく増えたでしょう。MS-DOSやPC-DOSのIO.SYS/IBMBIO.COMのCOUNTRY.SYSのパーサーはCOUNTRY.SYSの情報をすべて読み込むために(DOS 6では)6KBのバッファを用意します。これによってCOUNTRY.SYSファイルには受け付けられる最大登録数が438つになり、それを超えていると「COUNRY.SYSが大きすぎます」というメッセージが出ます。NLSFUNCパーサーはこの制限がなく、DR-DOS(カーネルおよびNLSFUNC)のファイルパーサーもそのような制限はありません。MS-DOSやPC-DOSはさらに古いリリースではさらに2KBのバッファしかなく最大で146つの登録しかできませんでした。)
- ^ Starikov, Yuri (2005年4月11日). “15-летию Russian MS-DOS 4.01 посвящается” [15 Years of Russian MS-DOS 4.01] (ロシア語). 2014年5月7日閲覧。
- ^ “cp850_DOSLatin1 to Unicode table”. The Unicode Consortium. 2016年6月6日閲覧。