[9] コードページは、 Microsoft や IBM のシステムにおける文字コード群 (の識別子) です。
本項は歴史的事項を説明しています。本項の内容の一部または全部は、現在の状況とは異なるかもしれません。
(なお本項の内容の一部または全部は、互換性または歴史的連続性のために現在も有効な場合もあります。しかし新たに利用することは避けるべきです。)
[7] あんまりあてにしないで下さい。 まとまった情報が (特に M$ については) ないんでこまります。
No | Microsoft | IBM | misc |
---|---|---|---|
CP037 | (EBCDIC) | ||
CP273 | (EBCDIC) | ||
CP424 | (EBCDIC) | ||
CP437 | MS-DOS US (OEM) | DOS US | |
CP500 | (EBCDIC) | ||
CP708 | ASMO 708 (OEM) | ||
CP709 | ASMO 449+, BCON V4 (OEM) | ||
CP710 | Transparent Arabic (OEM) | ||
CP720 | Transparent ASMO (OEM) | ||
CP737 | Greek (旧437G) (OEM) | Greek | |
CP775 | バルト語 (OEM) | ||
813 | ISO/IEC8859-7 | ISO/IEC8859-7 | |
838 | |||
CP850 | MS-DOS 多言語 (Latin I) (OEM) | ? | |
CP852 | MS-DOS スラブ語 (Latin II) (OEM) | ||
CP855 | IBM キリル語 (OEM) | ||
CP857 | IBM トルコ語 (OEM) | ||
CP860 | MS-DOS ポルトガル語 (OEM) | ||
CP861 | MS-DOS アイスランド語 (OEM) | ||
CP862 | MS-DOS ヘブライ語 (OEM) | IBM 862 | |
CP863 | MS-DOS カナダ系フランス語 (OEM) | ||
CP864 | アラビア語 (OEM) | IBM 864 | |
CP865 | MS-DOS 北欧語 (OEM) | ||
CP866 | MS-DOS ロシア語 (OEM) | IBM 866 | |
CP869 | IBM 現代ギリシャ語 (OEM) | ||
CP874 | タイ語 (TIS 620 のようなもの、改訂あり) (OEM / ANSI) | TIS 620 | |
CP875 | X-EBCDIC-GreekModern | (EBCDIC) | |
CP901 | (ISO/IEC 8859-13) | ||
CP902 | (CP922 に近いがユーロ記号あり) | ||
912 | ISO/IEC8859-2 | ||
913 | ISO/IEC8859-3 | ||
914 | ISO/IEC8859-4 | ||
915 | ISO/IEC8859-5 | ||
916 | ISO/IEC8859-8 | ||
920 | ISO/IEC8859-9 | ||
921 | |||
CP922 | (ISO/IEC 8859-1 の一部改変) | ||
923 | ISO/IEC8859-15 | ||
930 | |||
CP932 | 日本語 (マイクロソフト標準キャラクタセット) (OEM / ANSI) | ||
935 | |||
CP936 | 中国語 (簡体字) (GBK、改訂あり) (OEM / ANSI) | ||
939 | |||
942 | IBM 942 | ||
943 | シフトJIS | ||
CP949 | 韓国語 (UHC、改訂あり) | KS X 1001 完成型 | |
CP950 | 中国語 (伝統字) (Big5 の一種、改訂あり) (OEM / ANSI) | Big5-euro | |
951 | ? Big5-HKSCS | ||
964 | EUC-TW | ||
970 | EUC-KR | ||
1004 | Windows-1252 -euro | ||
1006 | |||
1025 | |||
1046 | |||
1089 | ? ISO/IEC8859-6 | ||
1097 | |||
1098 | |||
1112 | |||
1122 | |||
1123 | |||
1124 | |||
CP1140 | X-EBCDIC-US-EURO | (EBCDIC) | |
CP1141 | X-EBCDIC-Germany-EURO | (EBCDIC) | |
1142 | X-EBCDIC-DenmarkNorway-EURO | (EBCDIC) | |
1143 | X-EBCDIC-FinlandSweden-EURO | (EBCDIC) | |
1144 | X-EBCDIC-Italy-EURO | (EBCDIC) | |
1145 | X-EBCDIC-Spain-EURO | (EBCDIC) | |
1146 | X-EBCDIC-UK-EURO | (EBCDIC) | |
1147 | X-EBCDIC-France-EURO | (EBCDIC) | |
CP1148 | X-EBCDIC-International-EURO | (EBCDIC) | |
1149 | X-EBCDIC-Icelandic-EURO | (EBCDIC) | |
1161 | TIS620+euro | ||
1162 | TIS620+euro | TIS620+euro | |
CP1200 | Unicode (UCS-2LE、後 UTF-16LE) (ANSI) | UTF-16LE | |
1201 | UTF-16BE | ||
CP1250 | Windows 3.1 東欧 (ANSI) | ||
CP1251 | Windows 3.1 キリル文字 (改訂あり) (ANSI) | ||
CP1252 | Windows 3.1 Latin I (改訂あり) (ANSI) | Windows-1252 | |
CP1253 | Windows 3.1 希臘語 (改訂あり) (ANSI) | ||
CP1254 | Windows 3.1 トルコ語 (改訂あり) (ANSI) | ||
CP1255 | ヘブライ語 (改訂あり) (ANSI) | ||
CP1256 | アラビア語 (改訂あり) (ANSI) | ||
CP1257 | バルト語 (改訂あり) (ANSI) | ||
CP1258 | Windows-1258 (改訂あり) (ANSI) | ||
1208 | UTF-8 | ||
CP1361 | 韓国語 (KS X 1001 組合型) (OEM) | ||
1381 | |||
1383 | EUC-CN | ||
1370 | Windows-950+euro | ||
1386 | GBK | ||
1394 | Shift_JISX0213 | ||
2022 | ? ISO/IEC2022 | ||
4049 | ISO/IEC8859-7 | ||
9066 | TIS620 | ||
10000 | MacRoman | ||
10001 | MacJapanese | ||
10002 | MacChineseTrad | ||
10003 | MacKorean | ||
10004 | MacArabic | ||
10005 | MacHebrew | ||
10006 | MacGreek | ||
10007 | MacCyrillic | ||
10008 | MacChineseSimp | ||
10029 | MacCentralEurope | ||
10079 | MacIcelandic | ||
10081 | MacTurkish | ||
13488 | UTF-16 | ||
17584 | UTF-16 | ||
20000 | X-Chinese-CNS | ||
20002 | Big5 倚天 | ||
20127 | ASCII | ||
20269 | ? | ||
20273 | X-EBCDIC-Germany | ||
20277 | X-EBCDIC-DenmarkNorway | ||
20278 | X-EBCDIC-FinlandSweden | ||
20280 | X-EBCDIC-Italy | ||
20284 | X-EBCDIC-Spain | ||
20285 | X-EBCDIC-UK | ||
20290 | X-EBCDIC-JapaneseKatakana | ||
20420 | X-EBCDIC-Arabic | ||
20423 | X-EBCDIC-Greek | ||
20424 | X-EBCDIC-Hebrew (IBM424) | ||
20833 | X-EBCDIC-KoreanExtended | ||
20838 | X-EBCDIC-Thai | ||
20866 | KOI8-R | ||
20871 | X-EBCDIC-Icelandic | ||
20880 | X-EBCDIC-CyrillicRussian | ||
20905 | X-EBCDIC-Turkish | ||
20949 | EUC-KR | ||
21025 | X-EBCDIC-CyrillicSerbianBulgarian | ||
21866 | KOI8-U | ||
25546 | ? | ||
28591 | ISO/IEC8859-1 | ||
28592 | ISO/IEC8859-2 | ||
28593 | ISO/IEC8859-3 | ||
28594 | ISO/IEC8859-4 | ||
28595 | ISO/IEC8859-5 | ||
28596 | ISO/IEC8859-6 | ||
28597 | ISO/IEC8859-7 | ||
28598 | ISO/IEC8859-8 | ||
28599 | ISO/IEC8859-9 | ||
28605 | ISO/IEC8859-15 | ||
29001 | X-Europa | ||
29105 | X-IA5 | ||
29106 | X-IA5-German | ||
29107 | X-IA5-Swedish | ||
29108 | X-IA5-Norwegian | ||
33722 | EUC-JP | ||
38598 | ISO-8859-8-I | ||
50000 | X-User-Defined | ||
50001 | _AutoDetect_all | ||
50220 | ISO-2022-JP | ||
50221 | _ISO-2022-JP$ESC | ||
50222 | _ISO-2022-JP$SIO | ||
50225 | ISO-2022-KR | ||
50930 | X-EBCDIC-JapaneseAndKana | ||
50931 | X-EBCDIC-JapaneseAndUSCanada | ||
50932 | JISAUTO | ||
50933 | X-EBCDIC-KoreanAndKoreanExtended | ||
50935 | X-EBCDIC-SimplifiedChinese | ||
50937 | X-EBCDIC-TraditionalChinese | ||
50939 | X-EBCDIC-JapaneseAndJapaneseLatin | ||
50949 | _AutoDetect_kr | ||
CP51932 | EUC-JP のようなもの (改訂あり) | ||
51936 | EUC-CN | ||
51949 | EUC-KR | ||
52936 | HZ-GB-2312 | ||
54936 | GB18030 | ||
57002 | X-ISCII-de | ||
57003 | X-ISCII-be | ||
57004 | X-ISCII-ta | ||
57005 | X-ISCII-te | ||
57006 | X-ISCII-as | ||
57007 | X-ISCII-or | ||
57008 | X-ISCII-ka | ||
57009 | X-ISCII-ma | ||
57010 | X-ISCII-gu | ||
57011 | X-ISCII-pa | ||
65000 | UTF-7 | ||
65001 | UTF-8 |
注: 表にある名前は、内容のほぼ同じである符号の IANA などでの名称を主に示している。必ずしも同一ではない。
KSX1001 完成型を元にした符号。 EUC-KR に相当する。
MS949 はシフトJIS的に拡張して UHC。 更に後に KS X 1001:1998 に追随して EURO SIGN と REGISTERD SIGN を追加している。
MS20949 と MS51949 の違いは不明。 IUC の表に拠ると同一。
元々は両者とも UCS-2 相当だったが、 Unicode にサロゲート・ペアが導入されたのに伴い UTF-16 相当に。
Windows では EURO SIGN が追加されましたが、番号は変わっていません。
番号 | 名前 | 元になった規格 |
874 | Thai | TIS620 |
932 | Japanese Shift-JIS | JISX0208 |
936 | Simplified Chinese GBK | GB2312 |
949 | Korean | KSX1001 |
950 | Traditional Chinese Big5 | Big5 |
1250 | Central Europe | |
1251 | Cyrillic | |
1252 | Latin I | ISO/IEC8859-1 |
1253 | Greek | |
1254 | Turkish | |
1255 | Hebrew | |
1256 | Arabic | |
1257 | Baltic | |
1258 | Viet Nam |
[27] コードページは一杯ありますが、 Windoze が実質的に support してるのはこれだけみたいです。
[28] M$ が相手にしている CodePage は IsValidCodePage の説明にあるみなさまらしい。上の表の倍くらいある。
[31] これに加えて、 WinIE などで使うのに、幾つかの IETF charset に CodePage 番号が振られている。
[22] なお、 Code Page 一般については Wiki page CodePage で扱い、 Windows の実装についてはこちらで扱います。 特定の CP について量が多い場合はそれを独立させましょう。
[32] 一般によく知られていて使われているのは Unicode Consortium のサイトにある変換表 [UMAP] ですが、他の情報源 として M$ のサイトにある [GDEV] と [TYPO] もそれぞれ Unicode との対応を含んだ表があります。
[5] いずれも M$ 社の情報ではありますが、少し違いがあります。 [TYPO] は Windoze の API が実際に持っている変換表とおそらく 同じ情報を使っているようで、 Private Use Area との対応も 出てきます。 ([UMAP] とかに出てこないのは、 PUA との対応は 変換表に入れないという方針があるらしいです。)
[34] M$ の変換処理と同じであることを謳うであれば、 [TYPO] の情報も参考にして Windoze API を使った場合と同じ結果になる ようにするべきでしょう。事情があってそう出来ない場合であっても 少なくてもそう注記するのが望ましいと思われます。
[13] >>346 の [TYPO] の表は M$ site から削除されてしまいました。 重要だったのは 932, 936, 949, 950 ですが、いずれも web.archive.org から入手出来ます。
[14] >>13 削除されてしまった理由は分からないが、 Windows API の変換とおそらく同じ (ほんとうに全く同じかは、 各プラットフォーム毎に確認しないとわからないが。) 表としての価値は変わらないだろうから、変換表を作るときは 各実装者はこれらの情報を参考にしてほしい。
[24] >>14 Windows Me で MultiByteToWideChar, WideCharToMultiByte を使って調べた結果、 CP 932,936,949,950 とも [TYPO] と一致しますた。
[21] もちろん、一番あてになるのは実際の実装です。 ただ M$ の場合実装も資料も当てにならないのですが...
[51] [TYPO]と同じ形式の表が、Best Fit mappingという名前で2006年からUnicode.orgで公開されていたようです。
また2009年からMSのダウンロードセンターでも公開されているようです。
[MS-UCODEREF]経由で発見しました。
[30] Win95 (WindowsのNLSファイル (>>25)) と Win98 (WindowsのNLSファイル (>>26)) では、 「+0x8394 U+3094 <- # HIRAGANA LETTER VU」 のみ異なります。 (WindowsのNLSファイル (>>26) で追加)
[16] 936 の 0x80 は [TYPO] の表では U+0080 になってるけど、 Windows 2000 では EURO SIGN になる。 (いつかわったか不明)
-0x52 U+00AE <- # REGISTERED SIGN +0xA2E6 U+20AC # EURO SIGN +0xA2E7 U+00AE # REGISTERED SIGN
[17] [TYPO] の表と Windows 2000 ではこの3点が違う。 (いつ変わったか不明) (KSX1001:1998 に追随するもの。)
+0xA3E1 U+20AC # EURO SIGN
[18] [TYPO] の表と Windows 2000 はこれだけ違う。 (いつ変わったか不明)
[36] WindowsのNLSファイル (>>35) で発見された WinIE6 の変換表の追加。 (実際にいつの変換表から追加されたかは不明)
+0x30 U+0660 <- # ARABIC-INDIC DIGIT ZERO +0x31 U+0661 <- # ARABIC-INDIC DIGIT ONE +0x32 U+0662 <- # ARABIC-INDIC DIGIT TWO +0x33 U+0663 <- # ARABIC-INDIC DIGIT THREE +0x34 U+0664 <- # ARABIC-INDIC DIGIT FOUR +0x35 U+0665 <- # ARABIC-INDIC DIGIT FIVE +0x36 U+0666 <- # ARABIC-INDIC DIGIT SIX +0x37 U+0667 <- # ARABIC-INDIC DIGIT SEVEN +0x38 U+0668 <- # ARABIC-INDIC DIGIT EIGHT +0x39 U+0669 <- # ARABIC-INDIC DIGIT NINE +0xED U+06CC <- # ARABIC LETTER FARSI YEH
-0xC13F U+003F -> # QUESTION MARK ... -0xCF3F U+003F -> # QUESTION MARK
[48] Win2k = WindowsのNLSファイル (>>1) と WinXP = WindowsのNLSファイル (>>48) の間で、 >>47 の 0xC13F 〜 0xCF3F の15変換が消されている。 意図的なのかどうかよくわからないが。 (WindowsのNLSファイル (>>46) 参照。)
See CP20932
[57] Windows は Unicode符号位置のうちで、コードページの文字と直接対応関係にある文字以外でも、 似たUnicode文字をコードページの文字にと縮退します。
[58] Windows 以外のWindowsコードページの実装は、 Windows の実装を忠実に模倣するものもあれば、 直接対応関係にあるもののみしか対応していないものもあるので、 注意が必要です。
[23] Windows が実際に Code Page を実装しているのは *.nls というファイル群です。
[25] NLS の実態についての話は長くなったので分離しますた。 See WindowsのNLSファイル
[33] 2002-09-08 (Sun) 18:30:09 名無しさん : 同じ CodePage でも、ユーロの時に変更があったから、互換じゃないこともある。
[8] 2002-09-08 (Sun) 18:30:58 名無しさん : 上の表の対応する規格は、あくまで元になっているだけであって、一般にはその規格には適合しません。
[12] 2002-09-25 (Wed) 19:41:22 名無しさん : そういうことだからなんかあったらここに書いて欲しい。
[19] 2002-10-22 (火) 15:14 >>16-18: M$ の 1998 の表ではいずれも旧で、 Windows 2000 ではいずれも新。よって Windows 98 はおそらく旧。 Windows Me は不明。
[20] >>19 Windows Me ではいずれも旧でした。 (日本語版 WinMe ですが、他の言語版でも同じでしょう。) WindowsのNLSファイル (>>21) に NLS file 一覧を書きますた。
[43] 2002-11-11 (月) 20:05 CP20932:
[44] WindowsのNLSファイル (>>1) (Windows 2000) で調べた結果の CP20000 は、(他の資料に拠ると) 倚天版 Big5 になってるけど、倚天どころかどの Big5 とも合わない。そもそも第1水準・第2水準も配置が滅茶苦茶。 (HKU 版かとも思ったけど、それにしても全く異なる。) 文字集合的には Big5 らしいが・・・
[64] OEMコードページ ≒ DOS 時代に使われていたコードページです。
[65] 東アジアではOEMコードページ = ANSIコードページですが (番号が同じかつ符号構造が同じという意味で、 符号化文字集合として厳密に同じとは限らない)、 欧米等では基本的に両者が別物です。
[66] 欧米等の OEMコードページは ASCII を独自に拡張したもので、 国ごとに細かく分かれています。同じ国でも時期によって違うコードページを使っていた場合があります。 欧米等の ANSIコードページは OEMコードページとの互換性を捨てて、 複数の国をまとめた地域と言語群によって少数個に再編されています。
[67] 後方互換性のために Windows でも OEMコードページが使われる場面があります。
[68]
ZIPファイルのファイル名ではいくつかの国で今でもOEMコードページが使われています。
[60] MS-DOS や Windows でANSIコードページやOEMコードページとして使われてきたコードページについて、 その製品の対応言語とその製品が使われた国の国符号の対応関係。
[61] ただし国については販売地域を厳密に特定するのは資料不足により困難で、 対応言語も十分な資料がなく実際に製品で実装されているか確認されていない便宜的な表に過ぎないことには注意されたい。
CP437 en / us ca au nz za CP720 ar / iq CP737 el / gr CP775 et lv lt / ee lv lt CP850 en fr de it pt es nl se / gb fr de it pt at es nl sv CP852 bs cs hr hu pl ro sk sl sr-latn / ba cz hr hu pl ro sk si rs CP855 CP857 tr / tr CP858 en fr de es it pt / eu gb fr de es it pt CP860 pt / pt CP861 is / is CP862 he iw / il CP863 fr / ca CP864 ar / sa iq dz eg CP865 da nb nn no / dk no CP866 ru be uk bg sr-cyrl bg mk / ru ua by bg rs bg mk CP869 el / gr CP874 th / th CP932 ja / jp CP936 zh-cn zh-sg / cn sg CP949 ko / kr CP950 zh-tw zh-hk zh-mo / tw hk mo CP1250 cs hu pl ro sk sl sr-latn / cz hu pl ro sk si rs CP1251 ru bg uk sr-cyrl mk by / ru bg ua rs mk by CP1252 en fr de es it pt nl sv da no fi / eu us gb fr de es it pt nl ca au nz at ar CP1253 el / gr CP1254 tr / tr CP1255 he / il CP1256 ar / sa iq eg dz jo ma CP1257 et lv lt / ee lv lt CP1258 vi / vn
[69] Wine 等の DOS や Windows のプログラムを POSIX 環境で動作させるソフトウェアは、 POSIXロケールと OEMコードページ や ANSIコードページとの対応関係の表を必要としています。
[70]
ZIPファイルのファイル名のようなコードページの推定が必要な場面では、
ロケール、言語、国のような情報とコードページの対応関係の表が有用です。
[251] ZIPファイルのファイル名の読み込み、変換等の実装は、 コードページの一覧や言語等との対応表を持っていたりしますが、 それらの内容は互いに出入りがあったりします。 その対応表の製作過程はあまり詳しく説明されていません。 つまりどの実装もこの分野の確実な情報をそれほど持っていないということです。
[89] >>88 で提示されたコードページと言語符号の関係性
CP437 CP737 CP775 lt lv CP850 en CP852 bs cs hr hsb hu pl ro sk sl CP855 CP857 ku tr CP858 CP860 CP861 is CP862 he iw CP863 CP864 ar CP865 da nb nn no CP866 ru be bg mk uk CP869 el CP874 th CP932 ja CP936 zh CP949 ko CP950 zh
[141] >>140 はコマンドラインで指定されたコードページ、 プラットフォームのコードページ、 UTF-8 で復号して成功したものを使います。その対応コードページの一覧:
- 日本語 / Japanese (Shift-JIS / EUC-JP)
- 中国語 / Chinese (GBK / BIG5)
- 韓国語 / Korean (EUC-KR)
- ベトナム語 / Vietnamese (Windows-1258)
- タイ語 / Thai (Windows-874)
- 英語 / English (CP437 / CP850)
- 西ヨーロッパ言語 / Western Europe languages (CP850)
- ギリシャ語 / Greek (CP737)
- 中央ヨーロッパ言語 / Central Europe languages (CP852)
- セルビア・ボスニア語 / Serbian & Bosnian (CP855)
- トルコ語など / Turkish etc. (CP857)
- ヘブライ語 / Hebrew (CP862)
- ロシア語など / Russian etc. (CP866)
- アラビア語 / Arabic (CP720)
[142] これらがどのように選択されたものかは説明がなく不明。
[257] >>256 は ZIPファイルのファイル名の解釈に使う想定で用意された POSIXロケールとコードページの対応表。
[260] >>259 は Wine のPOSIXロケールからOEMコードページ / ANSIコードページへの対応表を ZIPファイル用に転用したもの。 >>259 の実装ではロケールに加え、 ファイルの OS とZIP仕様の版によって OEMコードページかANSIコードページかを選ぶ。
[264] >>263 は >>259 からの派生ですが、対応表や判定条件に少し違いがあります。
[71]
az_AZ
と sr_RS
と uz_UZ
は用字系の違いで2組ずつありますが、
>>263 には用字系がロケール識別子に入っているのに対し、
>>256 と >>259 では欠落して同名ロケールが2つあることになってしまっています。
[72]
zh_MO
が >>256 にはありますが、 >>259 >>263 からは欠落しています。
[73] それ以外は共通しているようなので、 >>256 >>259 >>263 は共通祖先から派生したもののようです。 >>71 >>72 でどれも不完全なので、補正したものを次に示します。
"af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720", "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720", "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720", "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720", "ar_YE", "CP720", "ast_ES", "CP850", "az_AZ@cyrillic", "CP866", "az_AZ", "CP857", "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850", "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852", "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850", "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737", "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850", "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437", "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850", "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850", "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850", "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850", "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850", "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850", "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850", "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850", "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437", "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862", "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850", "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932", "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775", "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850", "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850", "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850", "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866", "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS@latin", "CP852", "sr_RS", "CP855", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437", "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866", "ur_PK", "CP720", "uz_UZ@cyrillic", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258", "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936", "zh_MO", "CP950",
"af_ZA", "CP1252", "ar_SA", "CP1256", "ar_LB", "CP1256", "ar_EG", "CP1256", "ar_DZ", "CP1256", "ar_BH", "CP1256", "ar_IQ", "CP1256", "ar_JO", "CP1256", "ar_KW", "CP1256", "ar_LY", "CP1256", "ar_MA", "CP1256", "ar_OM", "CP1256", "ar_QA", "CP1256", "ar_SY", "CP1256", "ar_TN", "CP1256", "ar_AE", "CP1256", "ar_YE", "CP1256","ast_ES", "CP1252", "az_AZ@cyrillic", "CP1251", "az_AZ", "CP1254", "be_BY", "CP1251", "bg_BG", "CP1251", "br_FR", "CP1252", "ca_ES", "CP1252", "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP1252", "cs_CZ", "CP1250", "cy_GB", "CP1252", "da_DK", "CP1252", "de_AT", "CP1252", "de_LI", "CP1252", "de_LU", "CP1252", "de_CH", "CP1252", "de_DE", "CP1252", "el_GR", "CP1253", "en_AU", "CP1252", "en_CA", "CP1252", "en_GB", "CP1252", "en_IE", "CP1252", "en_JM", "CP1252", "en_BZ", "CP1252", "en_PH", "CP1252", "en_ZA", "CP1252", "en_TT", "CP1252", "en_US", "CP1252", "en_ZW", "CP1252", "en_NZ", "CP1252", "es_PA", "CP1252", "es_BO", "CP1252", "es_CR", "CP1252", "es_DO", "CP1252", "es_SV", "CP1252", "es_EC", "CP1252", "es_GT", "CP1252", "es_HN", "CP1252", "es_NI", "CP1252", "es_CL", "CP1252", "es_MX", "CP1252", "es_ES", "CP1252", "es_CO", "CP1252", "es_ES", "CP1252", "es_PE", "CP1252", "es_AR", "CP1252", "es_PR", "CP1252", "es_VE", "CP1252", "es_UY", "CP1252", "es_PY", "CP1252", "et_EE", "CP1257", "eu_ES", "CP1252", "fa_IR", "CP1256", "fi_FI", "CP1252", "fo_FO", "CP1252", "fr_FR", "CP1252", "fr_BE", "CP1252", "fr_CA", "CP1252", "fr_LU", "CP1252", "fr_MC", "CP1252", "fr_CH", "CP1252", "ga_IE", "CP1252", "gd_GB", "CP1252", "gv_IM", "CP1252", "gl_ES", "CP1252", "he_IL", "CP1255", "hr_HR", "CP1250", "hu_HU", "CP1250", "id_ID", "CP1252", "is_IS", "CP1252", "it_IT", "CP1252", "it_CH", "CP1252", "iv_IV", "CP1252", "ja_JP", "CP932", "kk_KZ", "CP1251", "ko_KR", "CP949", "ky_KG", "CP1251", "lt_LT", "CP1257", "lv_LV", "CP1257", "mk_MK", "CP1251", "mn_MN", "CP1251", "ms_BN", "CP1252", "ms_MY", "CP1252", "nl_BE", "CP1252", "nl_NL", "CP1252", "nl_SR", "CP1252", "nn_NO", "CP1252", "nb_NO", "CP1252", "pl_PL", "CP1250", "pt_BR", "CP1252", "pt_PT", "CP1252", "rm_CH", "CP1252", "ro_RO", "CP1250", "ru_RU", "CP1251", "sk_SK", "CP1250", "sl_SI", "CP1250", "sq_AL", "CP1250", "sr_RS", "CP1251", "sr_RS@latin", "CP1250", "sv_SE", "CP1252", "sv_FI", "CP1252", "sw_KE", "CP1252", "th_TH", "CP874", "tr_TR", "CP1254", "tt_RU", "CP1251", "uk_UA", "CP1251", "ur_PK", "CP1256", "uz_UZ@cyrillic", "CP1251", "uz_UZ", "CP1254", "vi_VN", "CP1258", "wa_BE", "CP1252", "zh_HK", "CP950", "zh_SG", "CP936", "zh_MO", "CP950",
[77] 逆にコードページからロケールへの変換表にすると次の通り。
CP437 en_PH en_ZA en_US en_ZW ga_IE iv_IV sw_KE CP720 ar_SA ar_LB ar_EG ar_DZ ar_BH ar_IQ ar_JO ar_KW ar_LY ar_MA ar_OM ar_QA ar_SY ar_TN ar_AE ar_YE fa_IR ur_PK CP737 el_GR CP775 et_EE lt_LT lv_LV CP850 af_ZA ast_ES kw_GB cy_GB da_DK de_AT de_LI de_LU de_CH de_DE en_AU en_CA en_GB en_IE en_JM en_BZ br_FR ca_ES en_TT en_NZ es_PA es_BO es_CR es_DO es_SV es_EC es_GT es_HN es_NI es_CL es_MX es_ES es_CO es_ES es_PE es_AR es_PR es_VE es_UY es_PY eu_ES fi_FI fo_FO fr_FR fr_BE fr_CA fr_LU fr_MC fr_CH gd_GB gv_IM gl_ES id_ID is_IS it_IT it_CH ms_BN ms_MY nl_BE nl_NL nl_SR nn_NO nb_NO pt_BR pt_PT rm_CH sv_SE sv_FI wa_BE CP852 cs_CZ hr_HR hu_HU pl_PL ro_RO sk_SK sl_SI sq_AL sr_RS@latin CP855 sr_RS CP857 az_AZ tr_TR uz_UZ CP862 he_IL CP866 az_AZ@cyrillic be_BY bg_BG kk_KZ ky_KG mk_MK mn_MN ru_RU tt_RU uk_UA uz_UZ@cyrillic CP874 th_TH CP932 ja_JP CP936 zh_CN zh_SG CP949 ko_KR CP950 zh_TW zh_HK zh_MO CP1258 vi_VN
CP874 th_TH CP932 ja_JP CP936 zh_CN zh_SG CP949 ko_KR CP950 zh_TW zh_HK zh_MO CP1250 cs_CZ hr_HR hu_HU pl_PL ro_RO sk_SK sl_SI sq_AL sr_RS@latin CP1251 az_AZ@cyrillic be_BY bg_BG kk_KZ ky_KG mk_MK mn_MN ru_RU sr_RS tt_RU uk_UA uz_UZ@cyrillic CP1252 af_ZA ast_ES br_FR ca_ES kw_GB cy_GB da_DK de_AT de_LI de_LU de_CH de_DE en_AU en_CA en_GB en_IE en_JM en_BZ en_PH en_ZA en_TT en_US en_ZW en_NZ es_PA es_BO es_CR es_DO es_SV es_EC es_GT es_HN es_NI es_CL es_MX es_ES es_CO es_ES es_PE es_AR es_PR es_VE es_UY es_PY eu_ES fi_FI fo_FO fr_FR fr_BE fr_CA fr_LU fr_MC fr_CH ga_IE gd_GB gv_IM gl_ES id_ID is_IS it_IT it_CH iv_IV ms_BN ms_MY nl_BE nl_NL nl_SR nn_NO nb_NO pt_BR pt_PT rm_CH sv_SE sv_FI sw_KE wa_BE CP1253 el_GR CP1254 az_AZ tr_TR uz_UZ CP1255 he_IL CP1256 ar_SA ar_LB ar_EG ar_DZ ar_BH ar_IQ ar_JO ar_KW ar_LY ar_MA ar_OM ar_QA ar_SY ar_TN ar_AE ar_YE fa_IR ur_PK CP1257 et_EE lv_LV lt_LT CP1258 vi_VN
[80] 「その他」が CP850 に分類されているような気もしますがどうなのでしょう。 CP437 と CP850 の区別は実際の製品の販売地域を反映しているのでしょうか。
[81]
実際のZIPファイルの事例を集めるのは難しいので全体のごく一部分にとどまるでしょうが、
ZIPファイルのコードページとそれが所在する ccTLD
(
CP437 .ca CP737 .gr CP775 .lv CP850 .pt CP852 .cz .hr .pl CP866 .bg .mk .ua CP874 .th CP932 .jp CP936 .cn CP949 .kr CP950 .hk .mo .tw CP1251 CP1252 .fr CP1253 .gr CP1254 .tr
[55]
ecma35lib
の
DECSPPCS
:
65535 超に独自符号を割当。
[40] Aprotool TM tips collection, , http://hp.vector.co.jp/authors/VA002891/APROTIPS.HTM#tip2
[49] Aprotool TM Editor は ESC: 形式に対応していました。 >>40
[50]
付属ドキュメント (それ自体 ESC: 形式で書かれています。) によると、
「ESC
:
コードページ :
文字」
で1文字を表します。ただし前の文字と同じなら、「文字」
だけで表せます。しかし行頭では省略できません。
[52] 文字のレンダリングにおける言語に適したフォントの選択や、 ISO 2022 やTRONコードやUnicode言語タグとの相互変換にこのコードページ番号が使われていたようです。
[53] UTF-16BE, UTF-16LE, UTF-8 の計3種類があったようです。
[54]
ESC
を表現できるのかどうか不明瞭ですが、
省略せずに ESC
:
コードページ
:
ESC
と書けばいいのでしょうか。
[4] WIN32 と UNICODE http://www-online.kek.jp/~keibun/win32prog/unicode.html
[6] 240596 – Add euro to 850, 852, 857, 862, 864 - update 862 with new codepoints ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=240596
[10]
I'm not a Klingon : A History of Code Pages or What Made Code Page XXXX (or many other computer things) The Way It Is? (2007-03-15 20:24:04 +09:00
版) http://blogs.msdn.com/shawnste/archive/2007/03/13/The-History-of-Code-Pages.aspx
[11] Download: WeightTables - Microsoft Download Center - Download Details ( ( 版)) http://www.microsoft.com/en-us/download/details.aspx?id=10921
[15] Hacking Code Pages, or "How to Totally Hose Your Machine AND Your Data". - I'm not a Klingon (<span style="font-family:pIqaD,code2000;"> </span>) - Site Home - MSDN Blogs ( ( 版)) http://blogs.msdn.com/b/shawnste/archive/2007/03/17/hacking-code-pages-or-how-to-totally-hose-your-machine-and-your-data.aspx
[56] dosbox-staging/contrib/resources/mapping/MAIN.TXT at 608ca8fb7869cc5e8c618c0e6204d15c2981cc92 · dosbox-staging/dosbox-staging · GitHub, https://github.com/dosbox-staging/dosbox-staging/blob/608ca8fb7869cc5e8c618c0e6204d15c2981cc92/contrib/resources/mapping/MAIN.TXT