文字コード
文字コードの最新ニュースをまとめて検索!
文字コード(もじコード)はコンピュータ上で文字を利用するために各文字に割り当てられるバイト表現もしくは、バイト表現と文字の対応関係(文字コード体系)。日本では、EUC-JP、Shift_JIS、UTF-8の3つが良く使われている文字コードである。
目次 |
[編集] 概説
コンピュータでは、すべての文章は文字コードの並びとして扱う。コンピュータの発展が早かった英語圏やその他のアルファベットを使用する言語(主に西洋)、日本語、中国語、韓国語などは言語固有の文字コードが制定され、利用可能になっているが、その他の大部分の言語ではコンピュータ上で文字を正常に表現することができない。
文字コードの歴史は電気通信の歴史とほぼ等しい。古くはテレックスで用いられた国際電信アルファベット第2、アメリカ規格協会 (ASA) が定めた ASCII、IBM によって開発された EBCDIC 等があった。しかしコンピュータシステムが多くの言語圏で利用されるようになるにつれて文字コードの種類も増大し、現在では100種類以上の代表的な文字コードが存在する。
多様な文字コードの存在は文字コードの互換性問題をひきおこす。文字コードの互換性問題とは、ある文字コードで記録されたデータを別の文字コードに変換しようとするとき、一方で定義されている文字がもう一方では定義されていない(あるいは用途によって2種類の文字に分けられている)という問題である。日本語では、これは特殊な漢字(苗字や団体名に使われる漢字)などが入ったデータベースを扱うときなどに問題となる。また文字コードの変換にかかるコストはばかにならないことが多い。
近年、これらの互換性問題を解決するためにすべての言語の文字コードを1つの文字コードで対応する試みである Unicode が作られ、オペレーティングシステムや Java などの内部コードとして広く利用されている。Microsoft Windows や Mac OS X などの最近の OS は、表面上は Unicode 以外の文字コードを使っていても内部処理上は Unicode に変換して処理しているものが多い。この場合、字によっては、Unicode と各文字コードの変換テーブルが OS によって異なるなどの問題が生じる場合がある。
[編集] (符号化)文字集合、文字符号化方式
文字コードに関して、(符号化)文字集合 (coded character set、CCS) と(文字)符号化方式 (character encoding scheme、CES) という区別がなされることがある。
文字コードには、文字集合は等しいが符号化方式だけが異なる文字コードと、そもそも対象としている文字集合そのものが異なる文字コードがある。たとえば、日本語には JIS X 0208 というひとつの文字集合に対して ISO-2022-JP (JIS コード等と呼ばれることが多い)、EUC-JP、Shift_JIS など複数の符号化方式が存在する。Unicode にも単一の文字集合に対して UTF-8、UTF-16、Punycode などの異なる符号化方式が存在する。また、それぞれ異なる文字集合を同じ符号化方式とする関係もあり、例えば符号化方式 EUC に対して EUC-JP、EUC-KR、GB2312 (EUC-CN) などがある。通常、文字コードといえば符号化方式をさすこともあれば、文字集合と結合させた概念(キャラクタセット、符号化表現あるいは文字マップ)として語られることもある。これには、ISO/IEC 8859 や Big5 のように、文字集合と符号化方式が事実上一体化している体系が少なからず存在することも影響している。
もっとも、「符号化文字集合」や「文字符号化方式」といった用語は標準化団体によっても定義が異なるため、「これは符号化文字集合だ、いや文字符号化方式だ」といった議論は意味をなさないことがある。元来、文字コードは文字の集合の各文字に一意なバイト表現を割り当てただけのシンプルなものだったが、バイト値を計算によって変形した符号化表現が用いられるようになってきたため(例えば Shift_JIS や UTF-8)、「符号化文字集合」と「文字符号化方式」とを区別するようになったと考えられる。両者の区分は Unicode や IETF では用いられる。一方、ISO/IEC や JIS では「文字符号化方式」を「符号化文字集合の構造」あるいは「文字符号の構造及び拡張法」として規定している。
[編集] 外字
外字とは表外字(規格表の外の文字)の略であり、ユーザがデザインして用いるユーザ定義文字や、メーカーなどが定義した環境依存文字(いわゆる機種依存文字)もしくはベンダ拡張漢字のことを指す。
大抵の文字コードには外字というユーザが独自に文字を登録できる領域がある。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バイト系文字コードは、俗に「半角文字」と呼ばれることもある。
- US-ASCII (ASCII [ANSI INCITS 4] 対応)
- ISO/IEC 646
- ISO646-JP
- ISO/IEC 8859 (ISO/IEC 8859-1 〜 ISO/IEC 8859-16)
- ISO-8859-1 (ISO/IEC 8859-1 対応)
- ISO-8859-5 (ISO/IEC 8859-5 対応)
- ISO-8859-6 (ISO/IEC 8859-6 対応)
- ISO-8859-7 (ISO/IEC 8859-7 対応)
- ISO-8859-11 (ISO/IEC 8859-11 対応)
- ISO-8859-15 (ISO/IEC 8859-15 対応)
- windows-1252 (Microsoft Windows Codepage 1252 対応)
- macintosh (MacRoman 対応)
- KOI8-R
- KOI8-U
- TIS-620
- EBCDIC
- JIS X 0201 (JIS ローマ字、カタカナ)
[編集] 2バイト系符号化文字集合
2バイト系文字コードは、俗に「全角文字」と呼ばれることもある。
- JIS X 0208 (第一・第二水準漢字など)
- JIS X 0212 (補助漢字など)
- JIS X 0213 (JIS X 0208 に第三・第四水準漢字などを追加した文字集合。JIS X 0213:2004 は JIS2004 とも呼ばれる)
- GB 2312
- GB 18030
- KS X 1001 (KS C 5601)
- Big5
- CNS 11643
[編集] 文字符号化方式と文字コード(キャラクタセット)
- ISO 2022 …… ISO/IEC 2022 (JIS X 0202) に(ほぼ)準拠した文字符号化方式を用いた7ビットの文字コード。
- ISO-2022-JP (RFC 1468、俗に「JIS コード」と呼ばれる文字コード。JIS X 0208 対応)
- ISO-2022-JP-1 (RFC 2237、JIS X 0208 と JIS X 0212 に対応)
- ISO-2022-JP-2 (RFC 1554、多言語拡張。JIS X 0208、JIS X 0212、GB 2312、KS X 1001、ISO/IEC 8859-1、ISO/IEC 8859-7 対応)
- ISO-2022-JP-3 (JIS X 0213:2000 対応)
- ISO-2022-JP-2004 (JIS X 0213:2004 対応)
- ISO-2022-CN (RFC 1922、GB 2312、CNS 11643 [第一字面・第二字面]対応)
- ISO-2022-KR (RFC 1557、KS X 1001 対応)
- ISO-2022-JP (RFC 1468、俗に「JIS コード」と呼ばれる文字コード。JIS X 0208 対応)
- EUC ……拡張 UNIX コード (EUC) 文字符号化方式を用いた8ビットの文字コード。ISO/IEC 2022 の8ビット符号化表現に相当する。
- EUC-JP (JIS X 0208 対応)
- EUC-JISX0213 (JIS X 0213:2000 対応)
- EUC-JIS-2004 (JIS X 0213:2004 対応)
- EUC-KR (RFC 1557、KS X 1001 対応)
- GB2312 (別名 EUC-CN。GB 2312 対応)
- EUC-TW (CNS 11643 対応)
- EUC-JP (JIS X 0208 対応)
- シフト符号化表現の文字符号化方式を用いた8ビットの文字コード。
- Shift_JIS (JIS X 0208 対応)
- Shift_JISX0213 (JIS X 0213:2000 対応)
- Shift_JIS-2004 (JIS X 0213:2004 対応)
- Windows-31J (Microsoft Windows Codepage 932 対応)
- x-Mac-Japanese (MacJapanese 対応)
- Shift_JIS (JIS X 0208 対応)
- その他の文字符号化方式を用いた7ビットの文字コード。
[編集] 多言語文字集合
多言語を同時に扱うことを目的として開発された文字コード体系。
- Unicode
- ISO/IEC 10646 (UCS、JIS X 0221) ※ISO/IEC 10646-1とISO/IEC 10646-2はISO/IEC 10646:2003で統合された。同様にJIS X 0221-1はJIS X 0221:2007で改訂された。
- TRONコード(BTRON#大規模文字セット)
[編集] Unicode の文字符号化方式
- UTF-8
- UTF-16 文字符号化形式
- UTF-32 文字符号化形式
- UTF-32
- UTF-32BE
- UTF-32LE
- 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コード
- 印刷機械貿易が開発した文字コード
- SKコード (SK72, SK78, 外字A, 外字B, 外字C)
- 新聞業界
- CO-59
- CO-77
- K-JIS
- U-PRESS
- 共同通信社が開発したユニコードベースの文字コード。
- 電子書籍
- BBeB 標準文字セット
- ユニコードをベースにソニーが拡張
- 新潮文庫の100冊の外字
- 青空文庫外字
- BBeB 標準文字セット
[編集] ベンダごとの文字コード
以下は、主にメインフレーム・オフコンなどのプロプライエタリなレガシーコンピュータやレガシーなシステム、特殊な環境において利用される文字コードを含む。レガシーなものとの連携を目的とする場合を除き、パソコンで利用されることがないものが多い。
- 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で表したもの
- cp932
- Sun Microsystems
- cp942C
- cp942の拡張
- cp943C
- cp943の拡張
- cp942C
- Apple
- MacJapanese
- Apple版Shift-JIS
- MacJapanese
- 富士通
- JEF 〈ジェフ〉
- メインフレーム(M シリーズ、GS シリーズ)で利用される。JIS C 6226-1978 を GR に展開し、その上方エリアに「JEF 拡張漢字」というベンダ選定拡張漢字を配置。
- EUC-U90
- DS/90 系 UNIX サーバで利用される。JIS X 0208-1990 を GR に展開し、「JEF 拡張漢字」をシングルシフトの GR 展開で表現。
- JEF 〈ジェフ〉
- 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
- KEIS(78) 〈ケイスナナハチ〉
- 日本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で利用される。
- IBM漢字 (DBCS-Host)
- 日本ユニシス
- LETS-J 〈レッツジェー〉
- ユニバック系メインフレームで利用される。JIS X 0208-1983 を GR に展開し、その上方及び左方エリアにベンダ選定拡張漢字を配置。
- JBIS 〈ジェイビス〉
- バロース系のコンピュータで利用される。
- LETS-J 〈レッツジェー〉
- 三菱電機
- JSII 〈ジェイエスツー〉(「MELCOM 漢字」とも呼ばれる)
- 三菱電機のメインフレームで利用される。JIS X 0208-1983 を GR に展開し、その上方エリアにベンダ選定拡張漢字を配置。
- JSII 〈ジェイエスツー〉(「MELCOM 漢字」とも呼ばれる)
- DEC
- DEC 漢字
- ミニコンの VAX 用 OS である VMS で利用される。JIS X 0208-1983 を GR に展開し、その左方エリアにベンダ選定拡張漢字を配置。
- Super DEC 漢字
- ミニコンの VAX 用 OS である VMS で利用される。JIS X 0208-1983 を GR に展開し、その左方エリアにベンダ選定拡張漢字を配置。そして、シングルシフトの GR 展開で JIS X 0212 を表現。
- DEC 漢字
- 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
[編集] その他の文字コード
- 住基ネット
- 統一文字コード
- 住民基本台帳ネットワーク統一文字(戸籍統一文字とは異なる)を符号化したもの。
- 統一文字コード
- デジタル放送
- ARIB外字 ARIB STD-B24にある文字符号化
- 人名
- 筆まめ人名外字
- 戸籍統一文字
[編集] 参考文献
- 安岡孝一、安岡素子『文字コードの世界』東京、東京電機大学出版局、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。
[編集] 関連項目
[編集] 外部リンク
- IANA 文字集合レジストリ (IANA Character Set Registry) (IANA によって登録されている文字コードの情報一覧)
- 文字コードについて
- 文字コードの話
- 文字コード入門
- 対応文字コード一覧(eMailKit がサポートしている文字コードの一覧)
- UTR#17: Character Encoding Model(Unicodeの文字符号化モデル)
- RFC2130: The Report of the IAB Character Set Workshop held 29 February 1 March(IABが文字コードについて検討したレポート)
- Character Data Representation Architecture Reference(IBM文字データ表現体系(CDRA)リファレンス IBMのベンダー規格)
- Character Model for the World Wide Web 1.0: Fundamentals(W3CのWWW向け文字モデル:基本編)
最終更新 2009年11月20日 (金) 23:07 (日時は個人設定で未設定ならばUTC)。
【文字コード】変更履歴



