この記事には複数の問題があります。改善
やノートページでの議論にご協力ください。キャラクタ (英: character) は、文字のことであるが、情報処理においては「文字コード」で表される「文字集合」という集合の要素(「元」)のことである。 コンピュータの情報交換においてテキストデータをやりとりする場合は、双方がそれに使用する文字集合を決めて通信を行う。キャラクタはその場合の最小単位である。 キャラクタは大きく分けて図形文字(グラフィックキャラクタ)と制御文字(コントロールキャラクタ)がある。図形文字が実際に画面に表示される文字であり、制御文字はその表示の仕方を制御する改行記号などや、それにとどまらずビープ音を発生させるものなどを含む。 図形文字には、言語学的な意味での文字記号(字母)以外に、約物類を含む。さらに、1つのキャラクタが1つの字母を表すとは限らない。文字コードにもよるが、「b」のような組文字のキャラクタは複数の字母からなり、逆に、「Å」のようなダイアクリティカルマーク付きアルファベットなどは複数のキャラクタで表されることもある。 キャラクタの符号化(文字符号化方式)に、バイト(この段落ではオクテットと同義)を当てるという標準を確立し広く普及したのはIBMが1964年4月に発表したメインフレームのSystem/360による(それ以前については#歴史の節を参照)。当初のアナウンスでは制定されたばかりのASCIIが採用されるはずだった。しかし、結果的には過去のしがらみを振り切ることができず、メインフレーム用としてはEBCDICが普及した。なお、一応System/360はモードを切り替えることはできる。 C言語およびC++での文字型の名前はcharだが、このcharはバイトやオクテットと等価ではない。C/C++のchar型の幅は<limits.h>/<climits>をインクルードすることで定義されるCHAR_BITSというマクロで示され、実際の数値は8ではなく9や16の可能性もある。なお、最低限必要とされている値の範囲の関係で8未満にはならない。sizeof(char)は常に1である。バイトは8ビットすなわちオクテットではない可能性もある。 幅を規定した整数型としてはC99およびC++11で追加されたint8_t/uint8_tおよびstd::int8_t/std::uint8_tがある。C++20ではUTF-8でエンコードされた文字を格納することを想定した符号なし文字型として、char8_tが規定されたが、8ビット幅であるとは限らない[1]。 JavaやC#のcharは16ビットであり、内部表現はUTF-16と規定されている[2][3]。 @media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}コンピュータの普及が米国に次いで早かった[要出典]日本では、日常の生活や業務に漢字が必須であるため、256より多くのキャラクタを扱いたいという要求が強かった。そこで現れたのが、1つのキャラクタを複数のバイトで表すマルチバイト文字(MBC)である。特に初期には2バイトを使うものがほとんどであり、ダブルバイト文字(DBC)と言った。 また、米国以外の国や地域で、それぞれに必要な文字を追加した文字集合や文字コードを作ったため、多数の文字集合や文字コードが乱立する結果となった。Unicodeはその問題を解消し、文字集合を統一するために生まれた。 現在ではキャラクタとデータの関係は抽象化されている。キャラクタは整数値(通常非負整数)で表現され、その整数値から文字符号化方式によりバイト列が生成される。たとえばUnicodeではUnicodeスカラ値という値が、各キャラクタに付けられている。 初期(1940年代?1960年代前半)のコンピュータにおける「キャラクタ」について述べる。 初期のコンピュータでは、入出力媒体として、コンピュータ以前から存在していた情報処理機械であるタビュレーティングマシン用のパンチカードや、テレタイプ電信網(テレックス)用の紙テープが使用されていた。そのため、それらにおける1カラム、または1列の5ビット?7ビットのコードが1文字(1字)だった。 また、System/360より前のコンピュータは、使用する分野ごとに設計が違うのが通常で、主に科学技術計算用と事務処理用に分かれていた。それぞれの典型的な設計を示すと、科学技術計算用は40ビット前後のワード長で、ワードアドレッシングで、ワード単位の演算を得意とするワードマシンだった。これに対し、事務処理用は字(前述の紙テープなどの1文字)単位のアドレッシングか、4字あるいは6字を1ワードとしたワードアドレッシングで、字単位の処理を得意とするキャラクタマシンだった。 System/360により、バイトマシンが標準となった。
概要
キャラクタとバイト
歴史
初期のコンピュータ
Size:20 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef