[1] [DFN[[RUBYB[文字コード]@en[character code]]]]は、[[文字]]を[[符号化]]する方式です。
現在広く用いられている[[文字コード]]は [[Unicode]] / [[UTF-8]]
ですが、過去には様々な[[文字コード]]が用いられていました。

[4] 「[[文字コード]]」は曖昧な用語で、少なくても次のような意味で使われることがあります。
[FIG(list)[
- [9] [[文字]]の[[符号化]]の方法全体
- [13] [[符号位置]]の与えられた[[文字]]の[[集合]]
- [14] 個々の[[文字]]に割り当てられた[[符号位置]]
- [15] [[符号位置]]によって[[文字]]を指定する方法 (= [[エスケープ]])
]FIG]

[16] 更に、[[文字]]の[[符号化]]は複雑な問題で、そのうちの「[[文字コード]]」
という語によって表される範囲も曖昧で文脈によります。
[FIG(list)[
- [17] [[バイト列]]と[[符号位置]]との対応付け
- [18] [[符号位置]]と[[文字]]との対応付け
- [20] [[文字集合]]中の利用可能な[[文字]]の制限
- [19] [[文字]]の列の表現に使う[[文字]]が複数候補ある時の選択 ([[正規化]]、[[改行文字]])
- [21] 特別な機能を持つ[[文字]]の用法や制約 ([[結合文字]]、[[制御シーケンス]]、[[bidi]] など)
]FIG]

* 文字と文字コード

[FIG(middle list)[ [31] [[文字体系]]と[[文字コード]]

- [[漢字コード]]
- [[仮名の文字コード]]
- [[神代文字の文字コード]]
- [[越南語の文字コード]]
- [[ラテン文字の文字コード]]
- [[ギリシャ文字の文字コード]]
- [[キリル文字の文字コード]]
- [[ユーゴスラビアの文字コード]]
- [[ジョージア文字の文字コード]]
- [[インド系文字の文字コード]]
-- [[タミル文字の文字コード]]
-- [[ビルマ文字の文字コード]]
-- [[チベット文字の文字コード]]
- [[ウズベク語の文字コード]]
- [[アラビア文字の文字コード]]
- [[ハングルの文字コード]]
- [[蒙古文字の文字コード]]
- [[東南アジア島嶼部の文字コード]]
- [[点字の文字コード]]

]FIG]

* 文字コードの一覧

** ISO/IEC 646 系

[FIG(short list)[
- [[ASCII]]
- [[ISO/IEC 646]]
- [[ISO/IEC 6429]]
- [[JIS X 0211]]
- [[NVT ASCII]]
- [[ATF-8]]
- [[BRF]]
- [[GB 1988]]
- [[NFILE character set]]
]FIG]

** ISO/IEC 8859 系

[23] 
[FIG(short list)[
- [[JIS X 0201]]
- [[ISO/IEC 8859]]
- [[TIS 620]]
- [[Windows-1250]]
- [[Windows-1251]]
- [[Windows-1252]]
- [[Windows-1253]]
- [[Windows-1254]]
- [[Windows-1255]]
- [[KOI8-R]]
- [[KOI8-U]]
- [[ISIRI 3342]]
- [[ISO 5428]]
- [[GB 8045]]
- [[GB 12050]]
- [[VISCII]]
]FIG]

** JIS X 0208 系

[FIG(short list)[ [26] [[JIS X 0208]] 型[[文字集合]]
- [[JIS X 0208]]
- [[GB 2312]]
- [[GB 12345]]
- [[ISO-IR-165]]
- [[KS X 1001]]
- [[CCCII]]
- [[CNS 11643]]
- [[JIS X 0212]]
- [[JIS X 0213]]
- [[GB 7589]]
- [[GB 7590]]
- [[GB 12052]]
- [[GB 13131]]
- [[GB 13132]]
- [[GB 13134]]
- [[KS X 1002]]
]FIG]

** EUC 系

[SEE[ [[EUC]] ]]

** シフト JIS 系

[FIG(short list)[
- [[シフトJIS]]
- [[GBK]]
- [[GB 18030]]
- [[UHC]]
- [[Big5]]
- [[HKSCS]]
- [[組合型]]
]FIG]

[33] このカテゴリーの[[符号]]は[[多バイト符号]]と呼ばれることが多いです。

** ISO/IEC 2022 系

[FIG(short list)[ [28] [[ISO/IEC 2022]] 系[[文字コード]]および似たような構造の[[文字コード]]
- [[ISO/IEC 2022]]
- [[JIS X 0202]]
- [[ISO-2022-JP]]
- [[ISO-2022-JP-1]]
- [[ISO-2022-JP-2]]
- [[ISO-2022-JP-3]]
- [[ISO-2022-CN]]
- [[ISO-2022-CN-EXT]]
- [[ISO-2022-KR]]
- [[ISO-2022-INT-1]]
- [[T.51]]
- [[T.61]]
- [[Videotex]]
- [[ISO/IEC 10367]]
- [[DIN 31624]]
- [[ISO 6438]]
- [[MARC-8]]
- [[HZ]]
- [[TRONコード]]
- [[DIS 10646]]
]FIG]

** ISO/IEC 10646 系

[FIG(short list)[ [27] [[Unicode]] の類
- [[Unicode]]
- [[ISO/IEC 10646]]
- [[JIS X 0221]]
- [[UCS-2]]
- [[UTF-16]]
- [[UCS-4]]
- [[UTF-32]]
- [[UTF-8]]
- [[CESU-8]]
- [[WTF-8]]
- [[UTF-EBCDIC]]
- [[UTF-9]]
- [[UTF-1]]
- [[UTF-7]]
- [[ACE]]
- [[Punycode]]
- [[Network Unicode]]
- [[UTF-8-MAC]]
- [[GB 16959]]
- [[GB/T 21669]]
- [[MLSF]]
]FIG]

** その他

[FIG(short list)[
- [[BTF-8]]
- [[GB 6513]]
- [[GB 8045]]
- [CODE[X-MOE-INTERNAL]]
- [[Mule内部コード]]
- [[ISCII]]
- [[PASCII]]
- [[ArmSCII-8]]
- [[zW]]
- [[RDS]]

]FIG]

[34] 
[CITE@ja[HD44780文字コード解説-WentWayUp]], [TIME[2024-05-22T13:22:04.000Z]] <https://wentwayup.tamaliver.jp/e223151.html>

* 文字の名前とエスケープ

[24] [[文字]]の識別には色々な方法が提案されてきました。
[[文字]]の一般的な呼称や[[意味]]に基づく名称を与える方法、
何らかの[[文字コード]]の値を[[文字列]]表現して用いる方法、
その混合で実に様々なバリエーションがあります。

[FIG(short list)[
- [[文字の名前]]
- [[日本語通用名称]]
- [[JIS X 0218]]
- [[文字参照]]
- [[テキスト形式TRONコード]]
- [[CSS escape]]
- [[パーセント符号化]]
- [[\u符号化]]
- [CODE[[[\x]]]]
- [CODE[[[\c]]]]
- [CODE[[[\N]]]]
- [CODE[\[VAR[八進数]]]]
- [[RFC 1345]]
- [[VIQR]]
- [[SERA]]
- [[ビット組合せ]]の表記
- [[区点位置]]
- [[面区点位置]]
- [[符号位置]]
- [[符号点]]
- [[文字番号]]
- [CODE[[[U+]]]]
]FIG]

* 文字コード扱いされることがある符号化や書式

[8] [[符号化文字集合]]や[[文字]]の[[符号化方式]]とはいえないものの、
しばしば[[文字コード]]として扱われる[[符号化]]の方式やデータ形式もあります。

[FIG(short list)[
- [[正規化形]]
- [[Base64]]
- [[encoded-word]]
]FIG]

* 文字コードの分類

[FIG(short list)[
- [[ASCII互換文字符号化]]
- [[ISO/IEC 646の版]]
- [[ISO文字コード]]
- [[レガシー符号化]]
- [[多バイト符号化]]
]FIG]

* 文字コード群に関する仕様

[FIG(short list)[
- [[ISO/IEC 2022]]
- [[ISO/IEC 4873]]
- [[ISO-IR]]
- [[ISO/IEC TR 15285]]
- [[IETF charset]]
- [[参照処理モデル]]
- [[Encoding Standard]]
- [[Stringprep]]
- [CODE[wchar]]

]FIG]

* その他の概念

[22] 
[FIG(short list)[
- [[文字コード名]]
- [[文字コードの指定]]
- [[文字符号化]]
- [[図形文字]]
- [[制御文字]]
- [[符号化文字集合]]
- [[文字符号化方式]]
- [[図形文字の一意な符号化]]
- [[文字コードの判定]]
- [[文字コード自動判定]]
- [[文字コードの変換]]
- [[フォント依存符号化]]
- [[組合せて使う文字]]
- [[内部コード]]
- [[文字コードの混在]]

]FIG]

* 応用

[FIG(middle list)[ [32] [[応用]]と[[文字コード]]
- [[HTMLにおける文字コード]]
- [[XMLにおける文字コード]]
- [[CSSにおける文字コード]]
- [[Webにおける文字コード]]
- [[SGMLにおける文字コード]]
- [[OpenTypeにおける文字コード]]
- [[DECの文字コード]]
- [[コードページ]]
- [[Mac OS符号化]]
- [[[CITE[Emacs]]における文字コード]]
- [[[CITE[Vim]]における文字コード]]
- [[Perlにおける文字コード]]
- [[Rubyにおける文字コード]]

]FIG]

* セキュリティー

[25] [[文字のセキュリティー]]参照。

* 関連

[2] [[文字]]に割り当てられた数値としての「[[文字コード]]」については、[[符号位置]]を参照。

[5] [[改行コード]]の選択や、 [[BOM]] の有無、利用する[[正準化]]の方式 ([[NFC]] など)
もしばしば「[[文字コード]]」の違いに含められます。

[6] 実装によっては、[[内容転送符号化]] ([[Base64]] など) やプロトコルでのエスケープ表現
([[パーセント符号化]]や[[符号化語]]など) も[[文字コード]]と同列に扱っていることがあります。
しかし [[layering violation]] であり、良い設計とは言えません。

;; [7] 解説などでそうしたものを[[文字コード]]の一種として扱うものもありますが、
明らかに誤りです。

* メモ

[3]
[CITE[A composite approach to language/encoding detection]] ([[Shanjian Li]] 著, [CODE[2007-01-24 09:18:52 +09:00]] 版) <http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html>
([[名無しさん]])

[10]
[CITE[smontagu.damowmow.com]] ([CODE[2004-01-07 23:56:12 +09:00]] 版) <http://smontagu.damowmow.com/>


[11] [CITE[統計学の力を借りて、文字化け退散! 解決&高速化編 - ψ(プサイ)の興味関心空間]]
([TIME[2011-11-07 10:00:09 +09:00]] 版)
<http://ledyba.org/2011/11/06191333.php>

[12] [CITE@en[Describe the security situation around encodings and require browsers to... · 2e43ead · whatwg/encoding]]
( ([TIME[2014-12-07 20:13:58 +09:00]] 版))
<https://github.com/whatwg/encoding/commit/2e43ead5c796e314cd3aaada10a2dc33de7bfaf1#diff-8d4d847e6257b75f4bf8030496281de4R65>

[29] [CITE[電碼――中国の文字コード]], [TIME[2021-12-10T22:22:42.000Z]], [TIME[2022-05-03T03:38:45.952Z]] <http://cryptiana.web.fc2.com/code/chinese.htm>

[30] [CITE@en[Raw Encoding · qzind/tray Wiki · GitHub]], [TIME[2025-10-13T15:05:59.000Z]] <https://github.com/qzind/tray/wiki/Raw-Encoding>