文字コード
(漢字コード から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/08/17 03:33 UTC 版)
文字コード(もじコード、英: character encoding)とは、識別番号を用いて文字などの記号を表す規則である。一般的に、通信技術やコンピュータで使用されるもを指す。文字エンコード[1]または文字エンコーディング[2]とも呼ばれる[3]。
概説
コンピュータや通信などでは、情報は全て二進数のデジタルデータ(1と0の数値の列)形式で表されている。そのため、文字などを直接的に表現・記録することはできない。データを文字として扱うためには、各文字に通し番号(二進数からなる数値)を割り当て、その対応規則から文字情報を参照する体系が必要である。この体系が文字エンコードである。
文字エンコードで定義される文字は、キャラクタまたは符号化文字(英:coded character)[4]と呼ばれる。キャラクタは、自然言語の文字、数字、句読点、その他の記号、そして表示に関わる要素(制御文字)などが含まれる。体系内で登録される全てのキャラクタは符号化文字集合(英:coded character set )と呼ばれ、キャラクタに対応している数値は符号値(英:code value)と呼ばれる[4]。
例えば、文字エンコードの一つUTF-8では、英文字「A」は8ビット値「01000001」と対応(紐付け)してる。コンピュータファイル内の情報はこのビット値で管理・保存されているが、テキストエディタなどのアプリケーションでファイルを読み込む(この際、手動か自動でUTF-8の文字エンコードが選択される)と、数値は変換され画面上で文字として表示される。
現在、ASCII、ISO/IEC 8859、Unicode(UTF-8およびUTF-16)などの文字エンコードが使用されている。その中でも、国際規格として策定されたUnicodeが最も普及している。2024時点、ウェブで使用されている文字エンコードの98%以上がUTF-8である[5]。
歴史
1870年代にはフランスの電信技術者のエミール・ボドーが、5ビットと文字・記号類を対応させるコードを発明し、1876年に、そのコードを用いる電信装置の特許をフランスで取得した(この装置に使われている5ビットのコードがBaudot Code(ボドー・コード)として知られるようになった)。
1963年には、アメリカの情報通信用の文字コードとして7ビットのASCII(アスキー、英: American Standard Code for Information Interchange の略)がアメリカ規格協会(ASA)で制定された。1964年にはIBM社がSystem/360とともにEBCDICという文字コード、4ビットのBCDを8ビットに拡張した文字コードを発表した。
類似の用語
文字エンコーディングに関わる用語は頻繁に誤解・誤用される[6]。下記では、用語の実際の使われ方と意味を紹介する。
文字エンコーディング/文字エンコード
「文字コード」という呼称は、頻繁に「符号値」と同じ意味で用いられる。つまり、文字と番号を対応させる体系だけではなく、"文字に与えられた数値・番号そのもの"を指した言葉としても使用される。一方、W3Cでは、文字コードを「文字エンコーディング」と訳しており、英語「character encoding」の直訳に近い表現となっている[2]。また、IBMは「文字エンコード」という訳を使用している[1]。
コードセット
この語はたとえば、ソフトウェアの実装において、任意の文字コードが扱えるよう実装すること(たとえばruby 1.9のStringオブジェクト)を指してコードセット独立(CodeSet Independent, CSI)といったように使われる[7]。
キャラクタセット
MIMEではキャラクタセット(英語: charsetまたはcharacter set)という概念が用いられる。言葉通りには「文字集合」であるが、実際に意味しているものは文字コードに近い。 この「キャラクタセット」は「オクテットの並びを文字の並びに変換する方式」などと定義されている[8]。MIMEで実現する電子メールメッセージなどの処理を主眼に置いた概念である。 インターネット上で用いることのできる「キャラクタセット」の登録と公開はIANAが行っている(「外部リンク」参照)。
文字マップ
Unicode文字符号化モデルでは、文字列をバイト列に変換する4段階の操作を総称して文字マップ(英: character map; CM)と呼ぶ[9]。
コードページ
IBMやマイクロソフトは独自に文字コードに番号(コードページ)を振って管理している。
外字
外字とは表外字(規格表の外の文字)の略であり、ユーザがデザインして用いるユーザ定義文字や、メーカーなどが定義した環境依存文字(いわゆる機種依存文字)もしくはベンダ拡張漢字のことを指す。
外字というユーザが独自に文字を登録できる領域がある文字コードは複数存在する。Unicodeにおいては6,400+131,072文字の「PUA(Private Use Area=私用領域)」があり、Windows-31J(Microsoft Windows Codepage 932)にも1,880文字の外字領域がある。ユーザが独自にフォントを登録した文字(ユーザ定義文字)は、文書の交換時に配慮しない限りは他の環境で読むことができないため、互換性の上で重大な問題を引き起こす場合がある。ベンダ拡張文字の場合は、ユーザが表外字でないことを認識せずに利用してしまうことがあるため、より重大な問題を引き起こす(例として挙げれば、Windows環境(CP932)のローマ数字がMac環境では化けて表示されるなど)。
JIS規格においては、JIS X 0208で定義された文字集合に対してEUC-JPまたはShift_JISによる符号化を行う際、1〜94区に対応しない領域(EUC-JPやShift_JISでは94区に94点をかけた8,836を超える文字が定義可能であるため)や、1〜94区の範囲内であっても文字が定義されていない箇所(JIS X 0208には、そのような空き領域が複数存在している)に外字を入れる実装が存在した。1997年改正(JIS X 0208:1997)ではShift_JIS符号化およびEUC-JP符号化も規格で規定することにより、空き領域を外字として使用することが原則禁止された。またJIS X 0213:2000では、主要なベンダ外字の文字を規格に入れて94区までの空き領域をなくしたことで、94区までの区間内の外字を扱える箇所をなくし、2面を使用した実装水準4を選択する場合にはShift_JIS-2004符号化の場合、94区外の領域も埋まるため、外字を入れることが可能な領域がなくなった。
文字コードの一覧(一部)
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 - 中国
- KPS 9566 - 朝鮮語が使われる北朝鮮
- KS X 1001(KS C 5601) - ハングルなどが使われる韓国
- Big5 - 繁体字中国語
- CNS 11643 - 台湾
文字符号化方式と文字コード(キャラクタセット)
- ISO/IEC 2022系(ISO/IEC 2022自体は文字符号化方式というより、そのフレームワークのようなものである)
- 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コードページ932対応)
- x-Mac-Japanese(MacJapanese対応)
- Shift_JIS(JIS X 0208対応)
- その他の文字符号化方式を用いた7ビットの文字コード。
大規模文字集合
ISO/IEC 10646およびUnicode
- 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で改訂された。JIS X 0221のうち、「日本文字部分レパートリ」はJIS X 0221 附属書JAという制限部分集合として定義する。
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 Std)
- Adobe-Japan1-4(OpenType Pro)
- Adobe-Japan1-5(OpenType Pr5、JIS X 0213にほぼ対応)
- Adobe-Japan1-6(OpenType Pr6、JIS X 0212・U-PRESS対応)
- Adobe-Japan1-7(「令和」元号の合字対応)
- Adobe-Japan2文字コレクション
- Adobe-Japan2-0(Adobe-Japan1-6に統合され廃止)
- Adobe-GB1文字コレクション(簡体字中国語)
- Adobe-GB1-0
- Adobe-GB1-1
- Adobe-GB1-2
- Adobe-GB1-3
- Adobe-GB1-4
- Adobe-GB1-5
- Adobe-CNS1文字コレクション(繁体字中国語)
- Adobe-CNS1-0
- Adobe-CNS1-1
- Adobe-CNS1-2
- Adobe-CNS1-3
- Adobe-CNS1-4
- Adobe-CNS1-5
- Adobe-CNS1-6
- Adobe-CNS1-7
- Adobe-Korea1文字コレクション(朝鮮語)
- Adobe-Korea1-0
- Adobe-Korea1-1
- Adobe-Korea1-2(Adobe-KR9に移行)
- Adobe-KR文字コレクション
- Adobe-KR9
- 電算写植
- SKコード(SK72、SK78、外字A、外字B、外字C)
- 写研が開発した文字コード。独自の文字セットを持つ。文字セットの大部分はすでにAdobe-Japan1に収録されている。
- PMTコード
- 印刷機械貿易が開発した文字コード。
- SKコード(SK72、SK78、外字A、外字B、外字C)
- 新聞業界
- 電子書籍
ベンダごとの文字コード
以下は、主にメインフレーム・オフコンなどのプロプライエタリな古いレガシーコンピュータやレガシーなシステム、特殊な環境において利用される文字コードを含む。レガシーなものとの連携を目的とする場合を除き、パソコンで利用されることがないものが多い。
ベンダー | 文字コード | 特徴 |
---|---|---|
マイクロソフト | cp932 | マイクロソフト版Shift_JIS。 |
マイクロソフト | cp10001 | マイクロソフト版MacJapanese。 |
マイクロソフト | cp20290 | マイクロソフト版IBM CCSID 00290。 |
マイクロソフト | cp20932 | マイクロソフト版日本語EUC。 |
マイクロソフト | cp21027 | マイクロソフト版IBM CCSID 01027。 |
マイクロソフト | cp50220 | マイクロソフト版ISO-2022-JPの一つ。 |
マイクロソフト | cp50221 | マイクロソフト版ISO-2022-JPの一つ。 |
マイクロソフト | cp50222 | マイクロソフト版ISO-2022-JPの一つ。 |
マイクロソフト | cp51932 | Windows-31JをEUC-JPで表したもの。 |
サン・マイクロシステムズ | cp942C | cp942の拡張。 |
サン・マイクロシステムズ | cp943C | cp943の拡張。 |
Apple | MacJapanese | Apple版Shift_JIS。 |
富士通 |
|
メインフレーム(Mシリーズ、GSシリーズ)で利用される。JIS C 6226-1978をGR(Graphic Right)に展開し、その上方エリアに「JEF拡張漢字」というベンダ選定拡張漢字を配置。 |
富士通 | EUC-U90 | DS/90系UNIXサーバで利用される。JIS X 0208-1990をGRに展開し、「JEF拡張漢字」をシングルシフトのGR展開で表現。 |
日本電気 |
|
ACOS-6系メインフレームで利用される。JIS C 6226-1978の9区〜13区に特殊文字を登録し、GR領域に「G1集合」というベンダ選定拡張漢字を登録したコード。 |
日本電気 |
|
ACOS-2、ACOS-4系メインフレームで利用される。JIPS(J)の上下1バイトをそれぞれEBCDICに変換して得られるコード。 |
日本電気 | NEC内部コード(E) | ITOS、A-VX系のオフコンで利用される。JIPS(J)の上1バイトをシフトさせたものに対して上下1バイトをそれぞれEBCDICに変換して得られるコード。 |
日立製作所 |
|
メインフレーム(Mシリーズ、APシリーズ)で利用される。JIS C 6226-1978をGRに展開し、その上方エリアに「拡張文字セット3」というベンダ選定拡張漢字を配置。 |
日立製作所 |
|
メインフレーム(Mシリーズ、APシリーズ)で利用される。JIS X 0208-1983をGRに展開し、その上方エリアに「拡張文字セット3」というベンダ選定拡張漢字を配置。 |
日本IBM | IBM漢字(DBCS-Host) | メインフレーム(システム/360系)、AS/400系オフコン(現行製品ではIBM i搭載のPowerSystem)で利用される。JIS C 6226-1978以前に制定されたため、完全に独自の漢字表を使用。漢字部分については、Windows-31Jの第一・第二水準漢字およびIBM拡張文字との間で一対一の対応がある。 |
日本IBM | cp930 | メインフレームで利用される。 |
日本IBM | cp932 | IBM OS/2で利用される。マイクロソフトのcp932との同一性は未確認。 |
日本IBM | cp939 | メインフレームで利用される。 |
日本IBM | cp942 | IBM OS/2で利用される。 |
日本IBM | cp943 | IBM OS/2で利用される。 |
日本ユニシス |
|
ユニバック系メインフレームで利用される。JIS X 0208-1983をGRに展開し、その上方および左方エリアにベンダ選定拡張漢字を配置。 |
日本ユニシス |
|
バロース系のコンピュータで利用される。 |
三菱電機 |
・MELCOM漢字 |
三菱電機のメインフレームで利用される。JIS X 0208-1983をGRに展開し、その上方エリアにベンダ選定拡張漢字を配置。 |
DEC | DEC 漢字 | ミニコンのVAX用OSであるVMSで利用される。JIS X 0208-1983をGRに展開し、その左方エリアにベンダ選定拡張漢字を配置。 |
DEC | Super DEC 漢字 | ミニコンのVAX用OSであるVMSで利用される。JIS X 0208-1983をGRに展開し、その左方エリアにベンダ選定拡張漢字を配置。そして、シングルシフトのGR展開でJIS X 0212を表現。 |
アドビ | 90ms-RKSJ-H | アドビ版cp932 横書き用。 |
アドビ | 90ms-RKSJ-V | アドビ版cp932 縦書き用。 |
アドビ | 90msp-RKSJ-H | アドビ版cp932 半角英字プロポーショナル版横書き用。 |
アドビ | 90msp-RKSJ-V | アドビ版cp932 半角英字プロポーショナル版縦書き用。 |
アドビ | 83pv-RKSJ-H | アドビ版漢字Talk6拡張版Shift_JIS 横書き用。 |
アドビ | 90pv-RKSJ-H | アドビ版MacJapanese 横書き用。 |
アドビ | Add-RKSJ-H | アドビ版富士通FMR拡張版Shift_JIS 横書き用。 |
アドビ | Add-RKSJ-V | アドビ版富士通FMR拡張版Shift_JIS 縦書き用。 |
アドビ | Ext-RKSJ-H | アドビ版NEC拡張版Shift_JIS 横書き用。 |
アドビ | Ext-RKSJ-V | アドビ版NEC拡張版Shift_JIS 縦書き用。 |
その他の文字コード
- 大漢和辞典 - 日本で漢字の収録がもっとも多い辞典。大漢和辞典の漢字番号が漢字の同定識別に使われることがある。
- 官公庁
- デジタル放送
- ARIB外字 - 日本のARIB STD-B24にある文字符号化。
- 企業・団体のコード
脚注
注釈
出典
- ^ a b “文字エンコード”. www.ibm.com (2016年6月21日). 2025年8月16日閲覧。
- ^ a b “HTMLで文字エンコーディングを指定する”. www.w3.org. 2025年8月16日閲覧。
- ^ 文字コード#類似の用語を参照。
- ^ a b “Unicode Terminology: English - Japanese”. www.unicode.org. 2025年8月16日閲覧。
- ^ “Usage Survey of Character Encodings broken down by Ranking”. w3techs.com. 2025年8月16日閲覧。
- ^ kexugit. “What's the difference between an Encoding, Code Page, Character Set and Unicode?” (英語). learn.microsoft.com. 2025年8月16日閲覧。
- ^ http://docs.oracle.com/cd/E19455-01/806-5582/6jej6u9sp/index.html
- ^ Freed and Postel. 参考文献, ‘1.3. Charset’, p.1.
- ^ “UTR#17: Unicode Character Encoding Model” (English). The Unicode Consortium (2008年11月11日). 2019年7月20日閲覧。 “a mapping from sequences of members of an abstract character repertoire to serialized sequences of bytes bridging all four levels in a single operation”
- ^ 文学作品に現れたJIS X 0208にない文字(1999.2-3青空文庫)
- ^ 【事例編】JTB、基幹系プラットフォームを刷新 - 進化するITプラットフォーム Part8(2009.6 IT Leaders編集部、インプレス (企業))
参考文献
- 安岡孝一、安岡素子『文字コードの世界』東京、東京電機大学出版局、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 によって登録されている文字コードの情報一覧)
- 文字コードについて
- 文字コードの話
- 文字コード入門
- RFC 2130: The Report of the IAB Character Set Workshop held 29 February 1 March(IABが文字コードについて検討したレポート)
- Character Data Representation Architecture(IBM文字データ表現体系(CDRA)リファレンス IBMのベンダー規格)
- Character Model for the World Wide Web 1.0: Fundamentals(W3CのWWW向け文字モデル:基本編)
- Encoding Standard
漢字コード
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/14 05:58 UTC 版)
ウィクショナリーに関連の辞書項目があります。兎 ウィクショナリーに関連の辞書項目があります。兔 兎の異体字「兔」を表すShift_JISコードは0x995cであり、2バイトめが 0x5c、すなわち1バイト文字における「¥」(「円記号」あるいは「バックスラッシュ」)に該当する通称「ダメ文字」の一つである。1バイト文字0x5cには、しばしば特殊な機能が割り当てられているため、マルチバイト文字が入力されることを想定していない(または想定していても対応に不備がある)プログラムは、マルチバイト文字に含まれている0x5cを誤認識し適切に動作しない可能性がある。
※この「漢字コード」の解説は、「ウサギ」の解説の一部です。
「漢字コード」を含む「ウサギ」の記事については、「ウサギ」の概要を参照ください。
- 漢字コードのページへのリンク