FrontPage

大まかな流れ

  • [キーボード]→キーコード→[キーコード-文字コード変換]→文字コード
  • 文字コード(主にASCII)→[かな漢字変換]→文字コード(漢字など)
  • 文字コード→[エンコード]→通信用文字コード→[通信路]→通信用文字コード→[デコード]→文字コード
  • 文字コード→[文字コード-フォント対応]→画像データ→[ディスプレイ]

文字コードの違いによるトラブル

  • 文字化け
  • 誤解釈
  • ソート順の食い違い
    • ISO-2022-JP, EUC-JP, Shift_JIS は同じ順になるが、Unicode とは違う順になる。

文字コードの階層モデル

  • RFC 2130 では、CCS/CES/TES の3層モデルが示されている。
    • CCS Coded Character Set
      • コード化された文字集合のこと。文字に番号が付いた状態。コンピュータ上でのデータ列表現はここには定義されない。
      • JIS X0208 の文字表とか、Unicode の文字表がここに相当。
    • CES Character Encoding Scheme
      • 文字エンコーディング方法のこと。番号とコンピュータ上でのデータ列表現とを変換する方法。
      • Shift_JIS とか EUC-JP とか ISO-2022-JP とか UCS-2 とか UTF-8 とかがここに相当。
    • TES Transfer Encoding Syntax
      • 転送用エンコーディング文法のこと。
      • BASE64 とか gzip とかがここに相当。(要はもう文字コードとはあまり関係ない。)
  • UTR#17 http://unicode.org/reports/tr17/ では、5層モデルが示されている。(Unicode用)
    • Abstract Character Repository
      • 抽象文字リポジトリ。エンコードするための文字の集合。ここでは番号は付いていない。
    • CCS Coded Character Set
    • CEF Character Encoding Form
      • ここで、単純なバイトへの変換をする。ここではバイト順は不明。
      • たとえば UTF-16 がここに入る。
    • CES Character Encoding Scheme
      • ここで、バイト直列化を入れる。ビッグエンディアンとリトルエンディアンの問題がここに入る。
      • たとえば UTF-16BE と UTF-16LE とがここに入る。
    • (CM Character Maps)
      • CCS, CEF, CES をまとめたもの
    • TES Transfer Encoding Syntax
  • CCS は Character Coding Scheme の略ともされる。この場合、CESと同義。(おいおい…)

符号化文字集合(文字セット)(CCS)

基本

  • US-ASCII
  • JIS X 0201 ラテン文字
  • JIS X 0201 片仮名
  • JIS X 0208-1978
  • JIS X 0208-1983
  • JIS X 0208-1990
  • JIS X 0212-1990
  • JIS X 0213:2000
  • JIS X 0213:2004
  • Unicode (UCS-4)

ベンダ依存

  • NEC特殊文字
  • NEC選定IBM拡張文字
  • IBM拡張文字

合成されたもの

  • マイクロソフト標準キャラクタセット(Windows-31J)
    • JIS X 0201 ラテン文字
    • JIS X 0201 片仮名
    • JIS X 0208:1990
    • NEC特殊文字
    • NEC選定IBM拡張文字
    • IBM拡張文字

符号化方式(CES)

  • ISO 2022
  • Shift JIS
  • Unicode
    • UCS-2
    • UCS-4
    • UTF-8
    • UTF-16
    • UTF-7

メモ

  • 漢字は大量のバリエーションを持っているが、安易に文字コードをつけていくとすぐにパンクする。
  • 勝手な簡略字、書き間違いにまで文字コードを振っていたらきりがない。特に人名は、勝手な簡略字、書き間違いの宝庫。
  • 文字コードをつけるには、どこでどう使われているのかの典拠が必要。
    • 辞書に載っていないが広く使われているケースはある。(有名人名、地名、有名書籍)
    • 広く使われている異体字には文字コードを与える価値はある。

リンク

書籍

#amazon(4320121023, left) #amazon(4899770510, left) #amazon(4873111080, left) #amazon(4798100307, left) #amazon(4320029046, left)

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-06-07 (土) 14:34:40 (822d)