2008年02月09日

文章(文字列)の処理

 厳密には、コンピューターは数値しか処理できません。コンピューターで文字を扱うには、文字と数値を対応させ、その数値を扱うようにしています。

 文字の並びを表現する方法は「文字コード」の記事に書きました。では、文章をコンピューターが扱うにはどうすればよいでしょうか。単純に文字をひたすら並べていくだけなら、「文字コード」の記事で書いた仕組み通りに処理すれば問題はありません。しかし、文章は文字を並べただけでは作れないのです。

 中学校の文法の授業を思い出してほしいのですが、文章はいくつかの段落で成り立っています。そして、段落が変わると改行し、段落の最初は原則として1文字下げて書き出します。文字を並べていくだけでは「どこで行を変える」という情報が入っていないので、まったく段落を分けていない文章しか作れなくなってしまいます。

 つまり、本当に文字しか入っていないデータはこのように表示されてしまうのです。

文字と数値が1つずつ対応してさえいれば、そのコンピューターで文字を扱うことはできるのですが、他のコンピューターと文字のやりとりをするときのことを考える必要があります。仮に、コンピューター1では文字コードを次のように定義していたとします。A=65、B=66、C=67さらに、別のコンピューター2では次のように定義していたとします。A=64、B=65、C=66このときコンピューター1からコンピューター2へ文字“A”を送信したいとします。


 この調子で全文が表示されてしまうと、最後まで読む気がしなくなります。

 ではどうすれば良いかというと、答えは簡単です。「どこで行を変える」という情報がないのが問題なのですから、行を変える場所を示すデータを付け加えてしまえばよいのです。このデータを「改行コード」といいます。改行コードも文字コードの1つです(注:文字コード体系の1つではない)。

 改行コードも結局はただの数値です。そのため改行コードも、1列に並んだデータの一部に過ぎず、次のようなイメージでデータが並びます。

文字と数値が1つずつ対応してさえいれば、そのコンピューターで文字を扱うことはできるのですが、他のコンピューターと文字のやりとりをするときのことを考える必要があります。[改]仮に、コンピューター1では文字コードを次のように定義していたとします。[改][改]A=65、B=66、C=67[改][改]さらに、別のコンピューター2では次のように定義していたとします。[改][改]A=64、B=65、C=66[改][改]このときコンピューター1からコンピューター2へ文字“A”を送信したいとします。


 実際のデータは [改] の位置に改行コードが入りますし、漢字や仮名の代わりに文字コードが並びます。ソフトウェアでこのデータを処理すると、以下のように表示されます。

文字と数値が1つずつ対応してさえいれば、そのコンピューターで文字を扱うことはできるのですが、他のコンピューターと文字のやりとりをするときのことを考える必要があります。

仮に、コンピューター1では文字コードを次のように定義していたとします。

A=65、B=66、C=67

さらに、別のコンピューター2では次のように定義していたとします。

A=64、B=65、C=66

このときコンピューター1からコンピューター2へ文字“A”を送信したいとします。


 改行コードのほか、空白を入れたい場所を指定する「空白文字」や、字下げする位置を表す「タブ」などもあります。これらは字の形が表示されるわけではないので厳密には文字と言えないのですが、コンピューター上では文字のデータとして扱われます。

人気ブログランキング
web拍手 by FC2
タグ:文字コード
posted by 北条利彦 at 09:13 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/83124856

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。