「文字列」の版間の差分

削除された内容 追加された内容
曖昧な表現を排除。
1行目:
'''文字列'''(もじれつ)は、単語や文章のような、[[文字]]の連なったもの。'''ストリング''' (string) 、[[テキスト]] (text) という場合もある。[[コンピュータ]]、特に[[プログラミング (コンピュータ)|プログラミング]]の分野で用いることが多い。
 
== プログラミング言語における文字列 ==
文字列の処理は、数値演算と並んでコンピュータの基本的処理であり、多くの[[プログラミング言語]]にそれを扱うための型や手続き、関数などがあるが、[[C言語]]のようにプログラマが自分でstrcatなどの関数を呼ぶようなコードを書かなかればならない言語もある。
 
[[FORTRAN]]に始まる伝統的な言語では、1文字は1[[バイト (情報)|バイト]]の数値で表現され、文字列は一般にその[[配列]]として扱われる。文字列の終了を示すために最後に特定の文字を入れる方式の言語と、別途長さを示す情報を持たせる言語がある(長さの情報をどう持たせるかは実装に任されている)。前者には[[C言語]]とその派生言語があり、終了文字として[[ヌル文字]]を使う([[ヌル終端文字列]])。後者の例としては[[Pascal]]などがある。
8行目:
コンピュータにおいて全ての情報は数値([[ビット]]の並び:ビット列)として表現されるので、文字列中の個々の文字も最終的にはビット列として[[記憶装置|記憶]]され演算される。この文字とビット列との対応付けが[[文字コード]]である。プログラミング言語や[[オペレーティングシステム]]などによって扱うことのできる文字コードに違いはあるが、同じ文字コードであれば、同じビット列から同じ文字を取り出すことができる。
 
1バイトで表される数値、すなわち文字のコードと実際の文字の対応付けはいくつかの方式があり、[[ASCII]]コードが代表的なものである。その後、漢字など多くの文字を使う文化圏のために1文字を多バイト列で扱えるように言語に拡張が行われるようになった。[[Java]]など最近後発の言語では当初から多バイト文字に対応したものもある。多バイト文字のコードには[[ISO-2022-JP|JISコード]]、[[Extended Unix Code|EUC]]、[[Unicode]]など各種ある。
 
C言語では言語機能レベルでの文字列サポートが全く無く、文字列の長さやメモリ寿命管理を意識するなどしながらプログラミングする必要がある。しかし[[C++]]のような[[オブジェクト指向言語]]をはじめ、[[スクリプト言語]]・[[マクロ言語]]と呼ばれるものなど、近年後発高水準言語ではそのような不便さや鬱陶しさなどなく文字列を扱える機能やライブラリが標準で用意されている。
 
== 関連項目 ==