
私はジョエル・スポルスキーの古典的なブログ記事を読み返していたすべてのソフトウェア開発者が Unicode と文字セットについて絶対に知っておく必要がある最低限の知識 (言い訳はなし!)そしてこの一節に気づきました:
最終的にこのOEMの自由競争は成文化され、ANSI規格 (強調は私による)。ANSI規格では、128未満の文字についてはASCIIとほぼ同じ扱いで合意していましたが、128以上の文字については、住んでいる地域によってさまざまな扱い方がありました。これらの異なるシステムは、コード ページ。
この文章はどのANSI規格を参照しているのでしょうか?確かに、米国規格協会は数多くの規格を発行しています(結局のところ、それが彼らが実際に発行しているものです)。する)、しかし、どれがどれなのかは分かりませんでした。
これが何を暗示しているのかという私の推測としては、これは実際には ISO-8859 について言及しており、おそらくこの文書は国際標準として採用される前にアメリカの標準として誕生したのでしょう。しかし、それは「コード ページ」と「OEM」文字セットを標準化するという文脈では意味をなさないでしょう。
ウィキペディアのコードページ記事IBM 標準について言及し、IANA がコード ページ マッピングのレジストリを維持していることを指摘していますが、明らかにどちらも ANSI ではありません。
私の理解では、ANSI は最新の 8 ビット文字セットを標準化しておらず、この文脈における「ANSI」は一般に、Microsoft の現在は廃止された混乱した用語を指します (「ANSI」はかつて、現在選択されているコード ページのようなものを意味していたようです)。
私が見落としている基準があるのでしょうか? それとも、単に (驚いたことに) Joel のブログに間違いがあるだけなのでしょうか?
答え1
これはパズルなので、既知の事実をすべて集めてみましょう。探しているのは次のものです。
- ANSI規格
- 文字セットについて
- 最初の128個のコードポイントを指定した
- そして、コード ページと、それに続くすべての文字セットの標準の基礎となりました。
私にとっての結果はただ一つ、 ASCII 標準これは最初の 128 個のコード ポイントを規定した ANSI の最初の標準であり、実際には最後のものでもあると思います。
ASCII はその後細部が進化しましたが、主な開発は 1963 年に始まりました。この規格は、国際標準化機構 (ISO) のアメリカ支部である ANSI によって開発されました。この規格ではアメリカ以外の文字への参照が省略されており、それに続いてその質問に答えようとしたコード ページは、ASCII 部分についてのみ合意できる、実に無秩序な混乱状態であったため、標準化の作業は国際組織である ISO 自体によって引き継がれました。
歴史的に言えば、 ISO/IEC 8859規格 ASCII とコード ページの間に登場しましたが、これは ANSI 標準ではなく、ISO によって詳細に規定されたものでした。
「ANSIコードページ」は誤った名称でした Windows コード ページこれらはANSIではなくMicrosoftによって作成されたものです。その1つのバリエーションは、 Windows-1252、後に 8859-1 規格。
文字セットの実際の歴史は非常に複雑で、タイムテーブル、相互影響、および結果としての事実上の標準や定義を確立するには、広範囲にわたる調査作業が必要になります。しかし、すべては ASCII によって始まり、Unicode と UTF-8 に至る将来のすべての進化の基礎を築きました。
答え2
によるとウィキペディアのページC0 および C1 制御文字は ANSI x3.4 で定義されています。
これらには、拡張テキストフォーマット用のエスケープシーケンスが含まれます。ISO 2022そして8859 規格マルチバイト国際文字セットを許可します。
たとえば、ESC $ @ と ESC $ B は異なる日本語 2 バイト エンコーディングに切り替わりますが、ESC ( B は US-ASCII に戻ります。これらは ISO (または ECMA) 標準である可能性がありますが、ANSI 制御コードを使用しているため、これは部分的な誤称である可能性があります。
答え3
ジョエルからの情報がなければ、確実なことは分かりませんが、ここでの他の回答の試みと私がそれらに感じる欠陥に基づいて、明白で単純な推測を提示させてください。
ここには実際の ANSI 標準はなく、Joel はそれをごまかしています。
ここで何が要約され、おそらく何が混同されているのかは、はっきりしないが、私の推測では、彼は Windows コード ページの開発について話しているのではないかと思う。このコード ページは、Microsoft によって「ANSI コード ページ」と呼ばれていた時期もあったが、米国規格協会との具体的なつながりはなかった。おそらく、Windows コード ページ 1252 を「拡張 ASCII」として標準化しようとしたが、最終的には失敗に終わった。この拡張 ASCII には、西ヨーロッパ言語用のさまざまなアクセント付き文字と、タイプセットや簡単な数式に便利な記号が含まれている。いくつかの情報源によると、これが最終的に次のような結果になったという。8859-1 規格そして最終的には、8859 規格さまざまな地域の8ビット文字セットの標準(ECMA-94)。
記録によると、ASAとその後ANSI 委員会 X3ASCII 標準 (ASA X3.4、その後 ANSI X3.4、その後 ISO 646) と、ディスプレイ端末の ASCII 画面制御シーケンスの X3.64 標準を担当していました。1980 年代後半のこの委員会による注目すべき出版物には、C 言語の提案と「拡張 Pascal」と呼ばれるもの、および SCSI ハードウェア インターフェイスが含まれていますが、この時期の文字セットに関連するものは何も見つかりませんでした。
答え4
https://en.wikipedia.org/wiki/ASCII#歴史
このリストによると、ASCII を定義した最初の ANSI 標準は ANSI X3.4-1977 でした。