文字符号化方式
文字符号化方式(もじふごうかほうしき、英: character encoding scheme、CES)とは、符号化文字集合で文字に対応付けた非負整数値を、実際にコンピュータが利用できるデータ列(通常、バイト列)に変換する符号化方式。
文字符号化体系、文字符号化スキーム (CCS) とも言う。文字について述べていることが明確なときは、単に符号化方式、またIBMの用語ではコード化体系 (ES) などとも言う。
この用語はUnicodeやIETFの標準などで用いているが、ISO/IECやJISの標準では用いず「符号化文字集合の構造」あるいは「文字符号の構造及び拡張法」として扱われている。この用語の定義は、世界の文字コード規格とは必ずしも合致しないことがある。
Unicodeでは、文字符号化スキーム (CES) を、文字符号化形式 (CEF) と、バイト直列化等の2つの段階に分けて標準化している。
Unicodeでは、Unicode符号化文字集合のU+0000〜U+10FFFFの各符号位置に、Unicodeスカラ値という非負整数値を対応付けている。CEFは、このUnicodeスカラ値を符号単位列に変換する。UnicodeのCEFには、UTF-8・UTF-16・UTF-32があり、これらが使う符号単位はそれぞれ、符号なし8ビット整数・符号なし16ビット整数・符号なし32ビット整数である。これらの文字符号化形式はプログラムにおける文字の内部表現として実装される。
しかし、情報交換のためファイルの読み書きや通信を行う場合には、符号単位列をバイト列にする必要があり、8ビット以外の符号単位列をバイト列にするには、バイト順序(エンディアン)を決める必要がある。そのためCESでは、CEFに加え、バイト直列化の手続きを決める、つまり、エンディアンを指定するかまたはエンディアンを記述する方法を規格化している。(各CESのバイト直列化の具体的な内容については、UTF-16#符号化を参照)