Character sets and encodings
目次 |
基本文字セット
以下の95文字で構成される 基本文字セット :
| コードポイント | 文字名 | グリフ |
|---|---|---|
| U+0009 | 文字タブレーション | |
| U+000B | 行タブレーション | |
| U+000C | フォームフィード (FF) | |
| U+0020 | スペース | |
| U+0021 | 感嘆符 |
!
|
| U+0022 | 引用符 |
"
|
| U+0023 | 番号記号 |
#
|
| U+0025 | パーセント記号 |
%
|
| U+0026 | アンパサンド |
&
|
| U+0027 | アポストロフィ |
'
|
| U+0028 | 左括弧 |
(
|
| U+0029 | 右括弧 |
)
|
| U+002A | アスタリスク |
*
|
| U+002B | プラス記号 |
+
|
| U+002C | コンマ |
,
|
| U+002D | ハイフンマイナス |
-
|
| U+002E | 終止符 |
.
|
| U+002F | ソリダス |
/
|
| U+0030 .. U+0039 | 数字 ゼロ .. ナイン |
0 1 2 3 4 5 6 7 8 9
|
| U+003A | コロン |
:
|
| U+003B | セミコロン |
;
|
| U+003C | 小なり記号 |
<
|
| U+003D | 等号 |
=
|
| U+003E | 大なり記号 |
>
|
| U+003F | 疑問符 |
?
|
| U+0041 .. U+005A | ラテン大文字 A .. Z |
A B C D E F G H I J K L M
|
| U+005B | 左角括弧 |
[
|
| U+005C | 逆ソリダス |
\
|
| U+005D | 右角括弧 |
]
|
| U+005E | 曲折アクセント |
^
|
| U+005F | 下線 |
_
|
| U+0061 .. U+007A | ラテン小文字 a .. z |
a b c d e f g h i j k l m
|
| U+007B | 左中括弧 |
{
|
| U+007C | 垂直線 |
|
|
| U+007D | 右中括弧 |
}
|
| U+007E | チルダ |
~
|
C++とは異なり、U+000A LINE FEED (LF) 文字は基本文字集合に含まれていません。代わりに、ソースファイル内の各行の終端を示す何らかの方法が存在し、この文書ではそのような行終端指示子を単一の改行文字であるかのように扱います。
基本文字セットは、 basic source character set とも呼ばれます。
基本実行文字セット
basic execution character set は、basic character setのすべてのメンバーに加えて、以下の文字を含みます:
| コード単位 | 文字 |
|---|---|
| U+0000 | Null |
| U+0007 | Bell |
| U+0008 | Backspace |
| U+000A | Line feed (LF) |
| U+000D | Carriage return (CR) |
各基本実行文字集合について、メンバーの値は非負で互いに異なるものとする。ソース基本文字集合と実行基本文字集合の両方において、上記の10進数字リストで0以降の各文字の値は、前の文字の値より1大きくなければならない。U+0000 NULL文字の値は0である。
基本実行文字セットの各メンバーの表現は1バイトに収まります。
C++では、基本実行文字セットは basic literal character set および basic execution wide-character set としても知られています。
リテラルエンコーディング
literal encoding は、エンコーディングプレフィックスなしの character constant または string literal 内の値への実行文字セットの文字の実装定義マッピングです。これは、すべての基本実行文字セット値から実装定義のエンコーディングへのマッピングをサポートします。マルチバイト文字シーケンスを含む場合があります。
|
以下の文字は基本実行文字セットには含まれないが、通常の文字定数または通常の文字列リテラル内で単一バイトとしてエンコードされることが要求される。
|
(C23以降) |
wide literal encoding
は、実行文字セットの文字から
L
接頭辞付き文字定数または文字列リテラル内の値への実装定義のマッピングです。これは、すべての基本実行文字セットの値から実装定義のエンコーディングへのマッピングをサポートします。実装が
__STDC_MB_MIGHT_NEQ_WC__
を定義しない場合、このマッピングはすべての基本実行文字セットの値に対してリテラルエンコーディングと同一の値を生成します。1つ以上の値が拡張実行文字セットの1つ以上の値にマッピングされる場合があります。
|
UTF-8エンコーディングは、実行文字セットの文字を
実装定義のエンコーディング
(C23以前)
UTF-16エンコーディング
(C23以降)
は、実行文字セットの文字を
実装定義のエンコーディング
(C23以前)
UTF-32エンコーディング
(C23以降)
は、実行文字セットの文字を
|
(C11以降) |
関連項目
| ASCIIチャート | |
|
C++ documentation
の
文字セットとエンコーディング
|