キャラクタ (コンピュータ)
文字型
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/10 09:37 UTC 版)
'A'のようにシングルクォートで文字を挟み、エスケープシーケンスが使える場合が多い。ASCIIやUnicodeの1文字を表すものがある。Schemeでは #\A、#\newline などのような記法である。SGML などでは λ、ዀ などのような記法である。
※この「文字型」の解説は、「リテラル」の解説の一部です。
「文字型」を含む「リテラル」の記事については、「リテラル」の概要を参照ください。
文字型
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/14 01:14 UTC 版)
ASCII文字コード体系では、7ビットですべての文字を表現可能なことから、1文字を1バイトの整数型として扱うことが可能である。英語圏のみに限れば、ASCIIで十分であった。しかし、日本語・中国語・韓国語など、文字種別の多い言語では、1文字を1バイトで表現することは不可能であり、1文字を複数バイトで表す符号化方式(マルチバイトエンコーディング)が言語ごとに考案された。さらに国際化対応の観点から、言語別の符号化方式ではなく、統一されたユニバーサルな符号化方式としてUnicodeが考案された。Javaは当初、先進的な設計としてUnicode 1.0を取り入れ、char型をUCS-2を表現する16ビットの型としたが、のちにUnicode 2.0(1996年)で導入されたサロゲートペアのために、1文字にchar2個を費やす場合が発生することになった。国際化対応の観点からは、Unicodeの異体字セレクタのことなども考慮すれば、"文字"という概念を単純な整数型の一種として扱うのは無謀である。 なおC言語のchar型については、何があろうと sizeof(char) が1になる型と、標準で決められている。極端な例としては、メモリのアドレス付けがバイト単位ではなく、16ビットのワード単位のアーキテクチャでも、CHAR_BIT は16になるが、sizeof(char) は1で、32ビットのintは sizeof(int) が2になる。このように、charという名前ではあるが「文字型」ではなく、メモリのアドレッシングの最小単位を示す型がcharである、という役割がある。なお、C/C++のワイド文字型wchar_tは長さがchar以上であることが求められているだけであり、エンコーディングに関しても規定はない。
※この「文字型」の解説は、「整数型」の解説の一部です。
「文字型」を含む「整数型」の記事については、「整数型」の概要を参照ください。
「文字型」の例文・使い方・用例・文例
- 文字型のページへのリンク