文字コード

文字コードの最新ニュースをまとめて検索!

文字コード(もじコード)はコンピュータ上で文字を利用するために各文字に割り当てられるバイト表現もしくは、バイト表現と文字の対応関係(文字コード体系)。日本では、EUC-JPShift_JISUTF-8の3つが良く使われている文字コードである。

目次

[編集] 概説

この節は執筆の途中です この節は執筆中です。加筆、訂正して下さる協力者を求めています

コンピュータでは、すべての文章は文字コードの並びとして扱う。コンピュータの発展が早かった英語圏やその他のアルファベットを使用する言語(主に西洋)、日本語中国語韓国語などは言語固有の文字コードが制定され、利用可能になっているが、その他の大部分の言語ではコンピュータ上で文字を正常に表現することができない。

文字コードの歴史は電気通信の歴史とほぼ等しい。古くはテレックスで用いられた国際電信アルファベット第2、アメリカ規格協会 (ASA) が定めた ASCIIIBM によって開発された EBCDIC 等があった。しかしコンピュータシステムが多くの言語圏で利用されるようになるにつれて文字コードの種類も増大し、現在では100種類以上の代表的な文字コードが存在する。

多様な文字コードの存在は文字コードの互換性問題をひきおこす。文字コードの互換性問題とは、ある文字コードで記録されたデータを別の文字コードに変換しようとするとき、一方で定義されている文字がもう一方では定義されていない(あるいは用途によって2種類の文字に分けられている)という問題である。日本語では、これは特殊な漢字(苗字や団体名に使われる漢字)などが入ったデータベースを扱うときなどに問題となる。また文字コードの変換にかかるコストはばかにならないことが多い。

近年、これらの互換性問題を解決するためにすべての言語の文字コードを1つの文字コードで対応する試みである Unicode が作られ、オペレーティングシステムJava などの内部コードとして広く利用されている。Microsoft WindowsMac OS X などの最近の OS は、表面上は Unicode 以外の文字コードを使っていても内部処理上は Unicode に変換して処理しているものが多い。この場合、字によっては、Unicode と各文字コードの変換テーブルが OS によって異なるなどの問題が生じる場合がある。

[編集] (符号化)文字集合、文字符号化方式

詳細は「文字集合」、「文字符号化方式」をそれぞれ参照

文字コードに関して、(符号化)文字集合 (coded character set、CCS) と(文字)符号化方式 (character encoding scheme、CES) という区別がなされることがある。

文字コードには、文字集合は等しいが符号化方式だけが異なる文字コードと、そもそも対象としている文字集合そのものが異なる文字コードがある。たとえば、日本語には JIS X 0208 というひとつの文字集合に対して ISO-2022-JP (JIS コード等と呼ばれることが多い)、EUC-JPShift_JIS など複数の符号化方式が存在する。Unicode にも単一の文字集合に対して UTF-8UTF-16Punycode などの異なる符号化方式が存在する。また、それぞれ異なる文字集合を同じ符号化方式とする関係もあり、例えば符号化方式 EUC に対して EUC-JPEUC-KRGB2312 (EUC-CN) などがある。通常、文字コードといえば符号化方式をさすこともあれば、文字集合と結合させた概念(キャラクタセット符号化表現あるいは文字マップ)として語られることもある。これには、ISO/IEC 8859Big5 のように、文字集合と符号化方式が事実上一体化している体系が少なからず存在することも影響している。

もっとも、「符号化文字集合」や「文字符号化方式」といった用語は標準化団体によっても定義が異なるため、「これは符号化文字集合だ、いや文字符号化方式だ」といった議論は意味をなさないことがある。元来、文字コードは文字の集合の各文字に一意なバイト表現を割り当てただけのシンプルなものだったが、バイト値を計算によって変形した符号化表現が用いられるようになってきたため(例えば Shift_JISUTF-8)、「符号化文字集合」と「文字符号化方式」とを区別するようになったと考えられる。両者の区分は Unicode や IETF では用いられる。一方、ISO/IECJIS では「文字符号化方式」を「符号化文字集合の構造」あるいは「文字符号の構造及び拡張法」として規定している。

[編集] 外字

外字とは表外字(規格表の外の文字)の略であり、ユーザがデザインして用いるユーザ定義文字や、メーカーなどが定義した環境依存文字(いわゆる機種依存文字)もしくはベンダ拡張漢字のことを指す。

大抵の文字コードには外字というユーザが独自に文字を登録できる領域がある。Unicode においては 6,400 + 131,072 文字の「PUA (Private Use Area = 私的領域)」があり、Windows-31J (Microsoft Windows Codepage 932) にも1,880文字の外字領域がある。ユーザが独自にフォントを登録した文字(ユーザ定義文字)は、文書の交換時に特別に同意しない限りは他の環境で読むことができないので、互換性の上で重大な問題を引き起こす事がある。ベンダ拡張文字の場合は、ユーザが表外字でないことを認識せずに利用してしまう事があるため、より重大な問題を引き起こす(例として挙げれば、Windows環境(CP932)のローマ数字がMac環境では化けて表示されるなど)。

JIS 規格においては、JIS X 0208の1997年改正(JIS X 0208:1997) で空き領域を外字として使用することが原則禁止され、JIS X 0213:2000 では、実装水準4を選択する場合には使えなくなった。

但し、1997年改正のJIS X 0208改正により、外字が使用可能なソフトウェア等が、これまで規格に厳密に合致していた実装が突然規格違反となった(すなわち、別の意味での重大な非互換性問題を発生した)ことや、そもそもデータ交換のうえで不自由があってもなお外字を利用したいとする需要も一部には根強くある(専門分野に使用する文字など、「市場性」は無いがその分野では必須となる文字は存在する)ことから、この改正に批判的な人もいる。

[編集] 文字コードの一覧(一部)

[編集] 1バイト系文字コード(符号化文字集合)

1バイト系文字コードは、俗に「半角文字」と呼ばれることもある。

[編集] 2バイト系符号化文字集合

2バイト系文字コードは、俗に「全角文字」と呼ばれることもある。

[編集] 文字符号化方式と文字コード(キャラクタセット)

[編集] 多言語文字集合

多言語を同時に扱うことを目的として開発された文字コード体系。

[編集] Unicode の文字符号化方式

  • UTF-8
  • UTF-16 文字符号化形式
  • UTF-32 文字符号化形式
  • UTF-7
  • UTF-EBCDIC
  • Standard Compression Scheme for Unicode (SCSU)
  • Binary Ordered Compression for Unicode (BOCU-1)

[編集] 印刷業界の文字集合

印刷業界においては、公的な文字コード規格では包摂されている異体字グリフの相違を厳密に区別したいというニーズが強く存在する。 そのため、そのようなニーズに応える文字集合が企業ベースで策定されている。 一般的な情報交換に用いられることはない。

  • Adobe-Japan1 文字コレクション
    • Adobe-Japan1-0
    • Adobe-Japan1-1 (JIS X 0208-1990、MacJapanese 対応)
    • Adobe-Japan1-2 (IBM 拡張文字に対応)
    • Adobe-Japan1-3 (OpenType Standard)
    • Adobe-Japan1-4 (OpenType Pro)
    • Adobe-Japan1-5 (JIS X 0213 にほぼ対応)
    • Adobe-Japan1-6 (JIS X 0212 対応)
  • Adobe-Japan2-0 (Adobe-Japan1-6 に統合され廃止)
  • Adobe-GB1
    • Adobe-GB1-4
    • Adobe-GB1-5
  • Adobe-CNS1
    • Adobe-CNS1-4
    • Adobe-CNS1-5
  • Adobe-Korea1
    • Adobe-Korea1-2
  • 電算写植
    • SKコード (SK72, SK78, 外字A, 外字B, 外字C)
      写研が開発した文字コード。独自の文字セットを持つ。文字セットの大部分は既にAdobe-Japanに収録されている。
    • PMTコード
      印刷機械貿易が開発した文字コード
  • 新聞業界
    • CO-59
    • CO-77
    • K-JIS
    • U-PRESS
      共同通信社が開発したユニコードベースの文字コード。
  • 電子書籍
    • BBeB 標準文字セット
      ユニコードをベースにソニーが拡張
    • 新潮文庫の100冊の外字
    • 青空文庫外字

[編集] ベンダごとの文字コード

以下は、主にメインフレームオフコンなどのプロプライエタリなレガシーコンピュータやレガシーなシステム、特殊な環境において利用される文字コードを含む。レガシーなものとの連携を目的とする場合を除き、パソコンで利用されることがないものが多い。

  • Microsoft
    • cp932
      Microsoft版Shift-JIS
    • cp10001
      Microsoft版MacJapanese
    • cp20290
      Microsoft版IBM CCSID 00290
    • cp20932
      Microsoft版日本語EUC
    • cp21027
      Microsoft版IBM CCSID 01027
    • cp50220
      Microsoft版ISO-2022-JPの一つ
    • cp50221
      Microsoft版ISO-2022-JPの一つ
    • cp50222
      Microsoft版ISO-2022-JPの一つ
    • cp51932
      Windows-31JをEUC-JPで表したもの
  • Sun Microsystems
    • cp942C
      cp942の拡張
    • cp943C
      cp943の拡張
  • Apple
  • 富士通
    • JEF 〈ジェフ〉
      メインフレーム(M シリーズ、GS シリーズ)で利用される。JIS C 6226-1978 を GR に展開し、その上方エリアに「JEF 拡張漢字」というベンダ選定拡張漢字を配置。
    • EUC-U90
      DS/90 系 UNIX サーバで利用される。JIS X 0208-1990 を GR に展開し、「JEF 拡張漢字」をシングルシフトの GR 展開で表現。
  • NEC
  • 日立
    • KEIS(78) 〈ケイスナナハチ〉
      メインフレーム(M シリーズ、AP シリーズ)で利用される。JIS C 6226-1978 を GR に展開し、その上方エリアに「拡張文字セット3」というベンダ選定拡張漢字を配置。
    • KEIS(83) 〈ケイスハチサン〉
      メインフレーム(M シリーズ、AP シリーズ)で利用される。JIS X 0208-1983 を GR に展開し、その上方エリアに「拡張文字セット3」というベンダ選定拡張漢字を配置。
    • KEIS(90) 〈ケイスキュウマル〉
    • EUC-HJ
  • 日本IBM
    • IBM漢字 (DBCS-Host)
      メインフレームシステム/360 系)、AS/400オフコン(現行製品では System i)で利用される。JIS C 6226-1978 以前に制定されたため、完全に独自の漢字表を使用。漢字部分については、Windows-31J の第一・第二水準漢字及び IBM 拡張文字との間で一対一の対応がある。
    • CCSID 290
    • CCSID 897
    • CCSID 930
    • CCSID 932
    • CCSID 939
    • CCSID 942
    • CCSID 943
    • CCSID 1027
    • CCSID 1399
    • CCSID 2962
    • CCSID 5026
    • CCSID 5035
    • cp930
      メインフレームで利用される。
    • cp932
      IBM OS/2で利用される。Microsoftのcp932との同一性は未確認。
    • cp939
      メインフレームで利用される。
    • cp942
      IBM OS/2で利用される。
    • cp943
      IBM OS/2で利用される。
  • 日本ユニシス
  • 三菱電機
    • JSII 〈ジェイエスツー〉(「MELCOM 漢字」とも呼ばれる)
      三菱電機のメインフレームで利用される。JIS X 0208-1983 を GR に展開し、その上方エリアにベンダ選定拡張漢字を配置。
  • DEC
    • DEC 漢字
      ミニコンVAX 用 OS である VMS で利用される。JIS X 0208-1983 を GR に展開し、その左方エリアにベンダ選定拡張漢字を配置。
    • Super DEC 漢字
      ミニコンVAX 用 OS である VMS で利用される。JIS X 0208-1983 を GR に展開し、その左方エリアにベンダ選定拡張漢字を配置。そして、シングルシフトの GR 展開で JIS X 0212 を表現。
  • WZ Software
    • SJIS-EX
  • Adobe
    • UniJIS-UCS2-H
    • UniJIS-UCS2-V
    • UniJIS-UCS2-HW-H
    • UniJIS-UCS2-HW-V
    • UniJIS-UTF16-H
    • UniJIS-UTF16-V
    • 90ms-RKSJ-H
      Adobe版cp932 横書き用
    • 90ms-RKSJ-V
      Adobe版cp932 縦書き用
    • 90msp-RKSJ-H
      Adobe版cp932 半角英字プロポーショナル版横書き用
    • 90msp-RKSJ-V
      Adobe版cp932 半角英字プロポーショナル版縦書き用
    • 83pv-RKSJ-H
      Adobe版漢字Talk6拡張版Shift-JIS 横書き用
    • 90pv-RKSJ-H
      Adobe版MacJapanese 横書き用
    • Add-RKSJ-H
      Adobe版富士通FMR拡張版Shift-JIS 横書き用
    • Add-RKSJ-V
      Adobe版富士通FMR拡張版Shift-JIS 縦書き用
    • Ext-RKSJ-H
      Adobe版NEC拡張版Shift-JIS 横書き用
    • Ext-RKSJ-V
      Adobe版NEC拡張版Shift-JIS 縦書き用
    • EUC-H
    • EUC-V
    • H
    • V

[編集] その他の文字コード

  • 住基ネット
    • 統一文字コード
      住民基本台帳ネットワーク統一文字(戸籍統一文字とは異なる)を符号化したもの。
  • デジタル放送
  • 人名
    • 筆まめ人名外字
    • 戸籍統一文字

[編集] 参考文献

  • 安岡孝一、安岡素子『文字コードの世界』東京、東京電機大学出版局、1999年9月、ISBN 4-501-53060-X
  • 小池和夫、府川充男、直井靖、永瀬唯『漢字問題と文字コード』東京、太田出版、1999年10月、ISBN 4-87233-486-8
  • 『bit』2001年4月号別冊、小林龍生・安岡孝一・戸村哲・三上喜貴編「インターネット時代の文字コード」東京、共立出版、2001年4月、ISBN 4-320-12038-8
  • 三上喜貴『文字符号の歴史』アジア編、東京、共立出版、2002年3月、ISBN 4-320-12040-X
  • Ken Lunde 『CJKV日中韓越情報処理』、東京、オライリー・ジャパン、2002年12月、ISBN 4-87311-108-0
  • 安岡孝一、安岡素子『文字符号の歴史』欧米と日本編、東京、共立出版、2006年2月、ISBN 4-320-12102-3

[編集] 関連項目

[編集] 外部リンク


最終更新 2009年11月20日 (金) 23:07 (日時は個人設定で未設定ならばUTC)。
【文字コード】変更履歴

ご利用上の注意

もっと調べる!