4

私はコード ページを調査している最中であり、ウィキペディアのさまざまなエントリ間でさえ、多くの矛盾する用語の使用に遭遇しました。キャラクターの取り扱いプロセス全体を最初から最後まで詳しく説明している情報源が見つかりません。この分野に精通した誰かが、次の情報が不正確または間違っている方法を提案できますか?

私が理解している限りのキャラクター表現のプロセス:

  • 特定のプラットフォームに関連付けられていない一連のシンボル (ここでの正しい用語は不明、おそらく「スクリプト」) から始めます。「キリル文字」は、たとえば、Windows のコンテキストでは Linux と同じエンティティを指すと理解されています。

  • これらのセットのメンバーは、プラットフォーム固有の文字セットを形成するためにベンダーによって一般的にまとめて選択されます。プラットフォームは、Windows の GDI 値などのさまざまなコードを割り当てる場合があります (例: ANSI_CHARSET の場合は 0、およびここで言及されているその他のコード: http://asa.diac24.net/wiki/index.php?title=ASS:fe&printable=yes ) . これらの文字セットが実際にコード化された文字セットなのか、それとも単純に順序付けられていない抽象的なものなのかなど、これらのセットに関する多くの情報を見つけることができません。

  • これらのセットから、GDI 値と 1 対 1 でマッピングされているように見える個々のコード ページが作成されます。これらの GDI 値はプラットフォームに依存するセットを表しているように見えるので、これは Windows コード ページが本質的に個々のセットのコード化されたバージョンであることを意味しますか?

この考えと、異なるプラットフォーム間でのこれらの GDI 文字セットとコード ページとの間の 1 対多のマッピングを示す以前に表示されたリンク (失くしてしまいました) との調整に苦労しています。これは正確ですか?これらの GDI 値は、さまざまなプラットフォームでさまざまなコード ページを開発できるセットを指していますか?

  • 各コード ページは、抽象文字セットのメンバーを整数にマップして、セット内の位置を表します。上記の Web ページで言及されている「より単純な」コード ページの場合、これらはより正確な「文字マップ」という用語を使用して参照できます。この用語は検討する価値がありますか、それとも区別が微妙すぎて重要ではありませんか?

  • フォントは、そのコード ポイントのグリフが含まれている場合、そのコード ポイントをグリフに解決します。そうでない場合は、失敗を報告します。また、フォントがサポートしていないコード ポイントに対して独自の空白のグリフを返す場合があることも読みました。アプリケーションは、この空白のグリフと成功した解決を区別できますか。フォントは、この空白のグリフのようなエラー コードを返しますか?

それが私の混乱の程度だと思います。この点に関する説明は非常に貴重です。前もって感謝します。

4

2 に答える 2

0

これは良い一致かもしれません: http://mihai-nita.net/2006/08/06/basic-lingo/

于 2011-05-28T09:25:05.853 に答える
0

あなたは本質的に正しいです:

  • 既知の文字数から始めます。
  • この文字のサブセット (文字セット) を選択します
  • これらをビット パターン (コード ページとエンコード) にマップします。
  • 文字をグリフと組み合わせて (つまり、フォント、ビット パターン、およびビット パターンを文字にマップするコードページ/エンコーディングを使用して)、これらを出力デバイスにレンダリングします。

プラットフォーム間で、同様のコード ページがあります。また、多くのコード ページ間でさえ、値から文字への同様のマッピングがあります。たとえば、Windows Latin、Mac Roman、および Unicode は、最初の 127 の値の文字を共有します。マシンが対話できるように、コードページの標準化 (例: http://en.wikipedia.org/wiki/Shift_JIS ) があります。

一般に、新しい開発では、一般的なエンコーディングの 1 つで Unicode コードページを使用する必要があります。UTF8 は、ほとんどの最新システムで一般的です。UTF16LE は、W で終わる Windows システム コールに使用されます。

于 2011-04-23T16:54:31.097 に答える