| MIME / IANA | ウィンドウズ1252 [1] |
|---|---|
| エイリアス | cp1252 (コードページ1252) |
| 言語 | すべてISO/IEC 8859-1でサポートされており、さらにフランス語とフィンランド語、英語の合字形式も完全にサポートされています。例: デンマーク語(まれな例外的な文字を除く)、アイルランド語、イタリア語、ノルウェー語、ポルトガル語、スペイン語、スウェーデン語、ドイツ語 (大文字のẞがない)、アイスランド語、フェロー語、ルクセンブルク語、アルバニア語、エストニア語、スワヒリ語、ツワナ語、カタロニア語、バスク語、オック語、ロトカ語、トキポナ語、ロジバン語、ロマンシュ語、オランダ語 (IJ/ij 文字はIJ / ijまたはÿに置き換えられる)、スロベニア語 ( č文字はçに置き換えられる)。 |
| 作成者 | マイクロソフト |
| 標準 | WHATWGエンコーディング標準 |
| 分類 | 拡張ASCII、Windows-125x |
| 拡張 | ISO 8859-1(C1コントロールを除く) |
| 変換/エンコード | 8859-15 規格 |
| 後継者 | ユニコード( UTF-8、UTF-16 ) |
Windows-1252またはCP-1252(Windowsコードページ1252)は、アメリカ大陸、西ヨーロッパ、オセアニア、アフリカの大部分のMicrosoft Windowsでデフォルトで(「ANSIコードページ」として)使用されているレガシーシングルバイト文字エンコーディング[2 ]です。[3]
当初はISO 8859-1と同じでしたが、 Windows 2.0以降では 0x80 から 0x9F ( 16 進数) の範囲に文字が追加され、規格から逸脱し始めました(ISO 標準ではこの範囲をC1 制御コード用に予約しています)。注目すべき追加文字には、中引用符とISO 8859-15のすべての印刷可能文字が含まれます。
これは、世界で最も使用されているシングルバイト文字エンコーディングです。現在、ほぼすべてのWebサイトでマルチバイト文字エンコーディングUTF-8 が使用されていますが、2024年12月現在、 Webサイトの[アップデート]1.1% [4]がISO 8859-1を宣言しており、これはすべての最新のブラウザーでWindows-1252として扱われます(HTML5標準[5]で要求されているとおり)。さらに、0.3%がWindows-1252を直接宣言しており、[4] [6]合計は1.4%です。一部の国や言語では、世界平均よりも高い使用率が示されており、2024年のブラジルのWebサイトの使用状況によると、使用率は2.9% [7]、ドイツでは2.5% [8] [9]となっています(これらはISO-8859-1とCP-1252の宣言の合計です)。
実際には、ISO-8859-1のスーパーセットエンコーディングであるWindows-1252(標準で後者が指定されている場合でも)の方が、より効果的なデフォルトである可能性が高く[10] 、標準で指定されているかどうかに関係なくUTF-8が機能することがますます一般的になっています。
名前
これは、Windows ではコード ページ番号 1252 と、IANA承認の名前「windows-1252」で認識されます。
歴史的に、「ANSI コード ページ」という語句は、Windows で DOS 以外のエンコードを指すために使用されていました。その意図は、これらのほとんどはISO-8859-1などのANSI標準になることでした。Windows-1252 は、Microsoft Windows 用語でそのように名付けられた最初の、そしてこれまで最も普及したコード ページでしたが、コード ページは ANSI 標準ではありませんでした。Microsoft は、「Windows コード ページを表すために使用される ANSI という用語は歴史的な参照ですが、現在では Windows コミュニティで依然として使用されている誤った名称です」と説明しています。[11]
LaTeXは、パラメータansinew(最近ではcp1252 )を指定したinputenc.styを使用することで、Windows-1252 を入力できます。 [12] [13]
IBMはWindows-1252にコードページ1252(CCSID 1252およびユーロ記号拡張CCSID 5348)を使用しています。[14] [15] [16]
Oracle Databaseでは「WE8MSWIN1252」と呼ばれています。[17]
歴史
- コードページの最初のバージョンは、Microsoft Windows 1.0で使用されました。これは、ISO-8859-1 標準に一致していました (コード ポイント 0xD7 と 0xF7 は、当時の標準には含まれていなかったため、未定義のままでした)。
- コードページの 2 番目のバージョンは、Microsoft Windows 2.0で導入されました。このバージョンでは、コード ポイント 0xD7、0xF7、0x91、および 0x92 が定義されています。
- コードページの 3 番目のバージョンは、Microsoft Windows 3.1で導入されました。ユーロ記号とキャロン付き Z文字のペアを除く、最終バージョンで使用されるすべてのコード ポイントが定義されました。
- 最終バージョン (下記参照) は Microsoft Windows 98で導入されました。
1990年代から、HTMLを生成できる多くのMicrosoft製品にはWindows-1252専用文字が含まれていましたが、エンコーディングはISO-8859-1、ASCII、または未宣言としてマークされていました。[引用が必要] Windows-1252専用の文字は、Windows以外のオペレーティングシステムでは正しくレンダリングされませんでした(多くの場合、疑問符として)。[18] [19]特に、タイポグラファーの引用符(US-ASCIIの標準的なまっすぐなアポストロフィと引用符のカールした変形)は、まっすぐなアポストロフィと引用符をカールした変形に自動的に変換できるスマート引用符機能のため、 Microsoft WordなどのWindowsアプリケーションで生成されるファイルでよく使用されていました。 [20]これを修正するために、2000年までにほとんどのWebブラウザーと電子メールクライアントは、文字セットISO-8859-1とUS-ASCIIをWindows-1252として扱うようになりました[引用が必要] —この動作は現在HTML5仕様で必須となっています。[5] HTMLで宣言されていない文字セットもWindows-1252とみなされます。[21] [22]
Windows NT はUnicodeをサポートし、プログラムでの使用を推奨しようとしましたが、他のマルチバイト文字エンコーディングのサポートは既に存在していたにもかかわらず、 UCS-2 / UTF-16の 16 ビット コード ユニットのみを提供していました。多くのアプリケーションが 8 ビット文字列の使用を好んだため、UTF-16 のサポートが追加された後も、Windows-1252 は Windows で最も人気のあるエンコーディングのままでした。Windowsでの Unicode サポートは時間の経過とともに改善され、Windows 10以降ではUTF-8がサポートされるようになりました。
コードページレイアウト
次の表は Windows-1252 を示しています。ISO -8859-1との違いは、Unicode.org の Windows-1252 の「最適な」マッピングに基づいて、文字の下にUnicode コード ポイント番号があることです。通常、文字のすぐ右をポイントした場合にのみ表示されるツールヒントには、Unicode コード ポイント名と 10 進数のAlt コードが表示されます。
MicrosoftとUnicodeコンソーシアムのウェブサイトの情報によると、位置81、8D、8F、90、9Dは未使用ですが、Windows APIはこれらを対応するC1制御コードMultiByteToWideCharにマッピングします。「最適な」マッピングでもこの動作が文書化されています。[23]
関連するエンコーディング
OS/2 拡張機能
OS /2オペレーティングシステムは、コードページ1004(CCSID 1004)または「Windows拡張」という名前のエンコードをサポートしています。 [28] [29]これは、特定のC0制御文字が分音記号文字に置き換えられることを除いて、コードページ1252とほぼ一致します。
MS-DOS 拡張機能 (まれ)
めったに使用されませんが、役に立つグラフィックス拡張コードページ 1252 があります。このページでは、コード 0x00 から 0x1f によって、MSDOS Edit や Codeview などのアプリケーションで使用されるボックス描画が可能になります。このコードページを使用するアプリケーションの 1 つは、1995 年中期から後期の Intel Corporation のインストール/リカバリ ディスク イメージ ユーティリティでした。これらのプログラムは、P6 ユーザー テスト プログラム マシン (米国の例[34] ) 用に作成されました。これは、当時の EMEA 地域 (ヨーロッパ、中東、アフリカ) でのみ使用されていました。やがて、プログラムはコードページ 850 を使用するように変更されました。
Palm OS のバリエーション
各Palm OSデバイスは、ロケールに応じて単一の言語と単一の文字エンコーディングをサポートします。[35]
英語やフランス語などの言語の場合、Palm OSはWindows-1252に基づくカスタム文字エンコーディングを使用します。日本語の場合、代わりにコードページ932に基づくマルチバイト文字エンコーディングを使用します。システムロケールに関係なく、0x00から0x7Fの範囲のすべての文字は同じであることが保証されています。ただし、0x5Dは日本語の円記号で、他のすべての文字ではバックスラッシュです。[35]
Palm OS 3.1では、Windows-1252との整合性を高めるために文字エンコーディングにいくつかの変更が導入されました。[36]
- Palm OSの特別なグリフ「ショートカットストローク」(0x9D)と「コマンドストローク」(0x9E)は、ロケール間で一貫性が保証される範囲内にあることを保証するために、0x16と0x17にコピーされました。[36] Palm OS 3.3以降、0x16と0x17がこれらの文字の唯一のコードポイントとなり、[37] 0x9Dと0x9Eは未定義のままになりました。[38]
- 数値スペース(0x80)と水平省略記号(0x85)は、ロケール間で一貫性が保証される範囲内にあることを確認するために、それぞれ0x19と0x18にコピーされました。[36] [37]
- ユーロ記号は0x80に追加され、以前は数字スペースだった場所に置き換えられました。[37]
- トランプのマークはSymbol 9フォントにコピーされましたが[36]、元のコードポイントは有効のままです。[37] [38]
以下は、Palm OS 3.3以降で英語およびその他のいくつかのロケールで使用されるWindows-1252の変種です。[37] Pythonはpalmos、これをPalm OS 3.5のエンコーディングとして説明するためにラベルを付けています。 [39] [40] Windows-1252との違いは、Unicodeコードポイントにあります。
参照
- Unicode のラテン文字
- ユニコード
- ユニバーサルコード化文字セット
- UTF-8
- 西ラテン文字セット (コンピューティング)
- Windows-1250
- Windows コード ページ
- ISO/IEC JTC 1/SC 2
- 拡張ASCII
注記
- ^ Palm OS 3.1より前では、コードポイント0x80の文字はU+2007 NUMERIC SPACEであったが、Palm OS 3.1以降では0x80はユーロ記号となり、0x19はU+2007 NUMERIC SPACEとなった。[37]
- ^ Palm OS 3.1以降では、この文字は0x18にも複製されます。[36] [37]
- ^ Palm OS 3.3より前では、このコードポイントはPalm OS専用の文字「ショートカットストローク」であったが、Palm OS 3.3以降では、このコードポイントは未定義となっている。[36] [37]
- ^ Palm OS 3.3より前では、このコードポイントはPalm OS専用の文字「コマンドストローク」であったが、Palm OS 3.3以降では、このコードポイントは未定義となっている。[36] [37]
参考文献
- ^ 文字セット、インターネット割り当て番号機関(IANA)、2018-12-12
- ^ 「Encoding. Living Standard」。WHATWG。2024年6月13日。§9. レガシーシングルバイトエンコーディング。 2024年6月28日閲覧。
- ^ Karl-Bridge-Microsoft (2021-10-26). 「コード ページ - Win32 アプリ」. learn.microsoft.com . 2024 年 10 月 9 日閲覧。
- ^ ab 「ウェブサイトの文字エンコーディングの使用統計の歴史的傾向、2024年12月」。w3techs.com 。 2024年12月16日閲覧。
- ^ ab "Encoding". WHATWG . 2015年1月27日. sec. 5.2 名前とラベル. 2015年2月4日時点のオリジナルよりアーカイブ。2015年2月4日閲覧。
- ^ 「よくある質問」w3techs.com。
- ^ 「ブラジルを使用するウェブサイト間の文字エンコーディングの分布」W3Techs 。 2024年12月16日閲覧。
{{cite web}}: CS1 maint: url-status (リンク) - ^ 「.de を使用するウェブサイト間の文字エンコーディングの分布」W3Techs 。 2024 年 12 月 16 日閲覧。
{{cite web}}: CS1 maint: url-status (リンク) - ^ 「ドイツ語を使用するウェブサイトにおける文字エンコーディングの分布」W3Techs。 2024年4月4日時点のオリジナルよりアーカイブ。 2024年12月16日閲覧。
- ^ 「c++ - Windows のネイティブ ナロー文字列エンコーディングとは何ですか?」。Stack Overflow。2011年 1 月。2023 年 2 月 16 日閲覧。
- ^ Wissink, Cathy (2002年4月5日). 「Unicode and Windows XP」(PDF) . Microsoft . p. 1. 2015年2月4日時点のオリジナル(PDF)からアーカイブ。 2015年2月4日閲覧。
- ^ 「LaTeXニュース、第28号」(PDF; 379 KB)。LaTeXプロジェクト。2018年4月。 2024年7月27日閲覧。
- ^ 「Inputenc – 異なる入力エンコーディングを受け入れる」。LaTeXプロジェクト。2024年2月8日。 2024年7月27日閲覧。
- ^ 「コード ページ 1252 情報文書」。IBM。1997 年 9 月 30 日。2016 年 3 月 3 日時点のオリジナルよりアーカイブ。
- ^ 「CCSID 1252 情報文書」。IBM。2016 年 3 月 26 日時点のオリジナルよりアーカイブ。
- ^ 「CCSID 5348 情報文書」。IBM。2014 年 11 月 29 日時点のオリジナルよりアーカイブ。
- ^ 「データベース クライアント インストール ガイド」。Oracle。2021年 2 月 14 日閲覧。
- ^ Texin, Tex. 「Windows-1252、ISO-8859-1、ISO-8859-15 での文字の比較」I18nQA.com。
- ^ van Emden, Eva (2011 年 1 月 28 日). 「HTML でタイポグラファーの引用符を作成する方法」. vancouvereditor.com . 2024 年1 月 7 日閲覧。HTML
ファイルに適切な文字エンコードを指定せずにタイポグラファーの引用符を使用すると、閲覧者の一部には、意図した美しい波状の引用符ではなく、疑問符、ボックス、またはその他の奇妙な記号が表示されます。
- ^ 「Word のスマート引用符」 。Microsoftサポート。Microsoft。2024年1 月 7 日閲覧。
- ^ 「NetWare Web Search: 文字セット エンコーディングの理解」。Novell ドキュメント。 Novell。
ドキュメントに CHARSET エンコーディング値が含まれていない場合、HTML ドキュメントのデフォルトのエンコーディングは ISO-8859-1 (Latin1 とも呼ばれます) です。 プレーン テキスト ドキュメントのデフォルトのエンコーディングは US-ASCII です。
- ^ Chrome で観察された動作です。一部のブラウザでは UTF-8 である可能性があります。[独自の調査? ]
- ^ ab 「Unicode マッピングの Windows-1252 と 'Best Fit'」。Unicode。2015年 2 月 4 日時点のオリジナルよりアーカイブ。2015 年2 月 4 日閲覧。
- ^ コードページ 01252 (PDF)、IBM、1998年、2023年10月27日時点のオリジナルよりアーカイブ(PDF)
- ^ コードページ (CPGID) 01252 (txt)、IBM、1998年、2023年4月8日時点のオリジナルよりアーカイブ
- ^ 国際 Unicode コンポーネント (ICU)、ibm-1252_P100-2000.ucm、2002-12-03
- ^ 国際 Unicode コンポーネント (ICU)、ibm-5348_P100-1997.ucm、2002-12-03
- ^ 「コード ページ 1004 情報ドキュメント」。2015 年 6 月 25 日時点のオリジナルよりアーカイブ。
- ^ 「CCSID 1004 情報文書」。2016 年 3 月 26 日時点のオリジナルよりアーカイブ。
- ^ 「コード ページ 01004」(PDF)。IBM。2015年 7 月8日時点のオリジナルよりアーカイブ(PDF) 。(Windows-1252 の Windows 3.1 バージョンに基づくバージョン)
- ^ コード ページ CPGID 01004 (pdf) (PDF)、IBM
- ^ コードページ CPGID 01004 (txt)、IBM
- ^ Borgendale, Ken (2001). 「コードページ 1004 - Windows 拡張」。OS /2 コードページ番号別。2018 年 5 月 13 日時点のオリジナルよりアーカイブ。2018年 5 月 13 日閲覧。(Windows-1252 の現在のバージョンに基づくバージョン)
- ^ Storaasli, Olaf (1996). 「計算力学アプリケーションにおける NASA 方程式ソルバーのパフォーマンス」(PDF) .計算力学アプリケーションにおける NASA 方程式ソルバーのパフォーマンス. NASA. doi :10.2514/6.1996-1505. S2CID 15711051. 2019-05-03 にオリジナル(PDF)からアーカイブ。
- ^ ab 「第 13 章: ローカライズされたアプリケーション」。Palm OS プログラマーズ コンパニオン(PDF)。Palm Computing Platform。2000 年 3 月 16 日。321 ページ。
- ^ abcdefg 「付録 B: 互換性ガイド」。Palm OS SDK リファレンス(PDF)。Palm Computing Platform。2000 年 3 月 16 日。pp. 1181–1182。
- ^ abcdefghi ワレイジ、ライナス。 「Palm Pilot の文字セットと Unicode マッピング」。GNU リコード。 Datorföreningen vid Lunds Universitet och Lunds Tekniska Högskola 。2023 年10 月 10 日に取得。
- ^ abc Parker, Greg. 「Palm OS 組み込みフォント」。Sealie Software。2023年10 月 10 日閲覧。
- ^ "codecs—コーデックレジストリと基本クラス (§ テキストエンコーディング)". Python 標準ライブラリ—Python 3.9.4 ドキュメント. Python Software Foundation .
- ^ ab Mullender, Sjoerd (2002年7月13日). 「Palm OS 3.5用Python文字マッピングコーデック」. CPythonソースツリー. Python Software Foundation . 2021年12月9日閲覧。
外部リンク
- Microsoft の Windows-1252 用コード チャート (「コード ページ 1252 Windows Latin 1 (ANSI)」)
- Windows-1252 に最適なマッピングを備えた Unicode マッピング テーブルとコード ページ定義
