文字とは ~ プログラムが魔法でないとわかればプログラマになれる 3

プログラムが読み込める文字とは

前項ではプログラムが 文字 であると説明しました。続いて、この文字をどうやったらプログラムとして動かすことができるのかをお話ししましょう。

コンピューターに文字を入力する方法は色々あります。Wordを起動すれば文字を入力できます。ですが、Wordに文字を入力してもプログラムは動きません。では一体どこに文字を入力すれば良いのでしょうか。もちろんプログラムを入力するために作られた専用のアプリも存在しますが、Windowsに元々の入っている「メモ帳」というアプリを使ってもプログラムは入力できます。なぜ、Wordはダメで、メモ帳は良いのでしょうか。

Wordにはご存知の通り、文字を大きくしたり、太くしたり、右寄せにしたり、また印刷用に余白を整えるなど、実に様々な機能がついています。そしてそれらの機能を駆使して整えた文章をそのままの状態で保存することができます。保存した文章を翌日開くと、昨日と同じように表示されるはずです。大きくした文字は大きいまま、太くした文字は太いまま表示されるでしょう。ということは、昨日保存したファイルには 文字を大きく文字を太く という内容も記録されているはずです。

プログラムは 文字 を読み込んで動きますが、 文字を大きくする文字を太くする などの「文字そのものではない情報」は邪魔になってしまいます。これらはWordというアプリでのみ通用するルールで、Word以外では読み込むことができません。人間は文字が大きくても太くても問題なく読めますが、コンピューターにとっては「太い文字」と「太くない文字」は違うものなのです。 01 のパターン(並び方)が変わってしまい同じものとして認識できないのです。では、純粋な文字だけを扱うにはどうしたら良いでしょうか。そのためには純粋な文字だけを入力したり保存したりできるアプリを使わなければなりません。

テキストファイル

先ほどWindowsのメモ帳ではプログラムを入力できると言いました。それはメモ帳が 文字 しか扱えないアプリだからです。メモ帳ではある部分だけ文字を大きくしたり色を変えたりすることができません。メモ帳はその名のとおり何かメモとして文字を記録するためのアプリですが、この「文字しか扱えない」というのがプログラムにとっては好都合なのです。

メモ帳で何か文字を入力して保存するとファイルが作られます。これを テキストファイル と言います。拡張子の.txt は英語の text を省略したものです。このファイルこそプログラムが読み込めるファイルに他なりません。

さて、ファイルについても少し説明しましょう。ファイルはコンピューターに保存するときに「これを一つのものとして保存」というデータ(記録したい情報のこと)のまとまりです。EXCELを保存してできる「<ファイル名>.xlsx」もファイルですし、画像であれば「<ファイル名>.jpg」などもファイルです。ファイルは名前と内容に分かれています。名前には昔から拡張子と呼ばれる . (ドット)で始まる3、4文字を末尾につける慣例があります。これによってファイルの内容を見なくても、およそどのようなファイルか見当がつくようになっているのです。拡張子が「.docx」だったらダブルクリックでWordを起動する、というアプリとの関連付けにも利用されています。

ファイルの名前と内容は別のものですので、ファイルの名前を変えても内容が変わることはありません。「書類.docx」を「書類20180429.docx」に変えても、ファイルの内容は変わりません。では「書類.docx」を「書類.jpg」に変えるとどうなるでしょうか。この場合も先ほどと同じくファイルの内容は変化しません。.jpgであっても中身はWordのデータですので、画像としては開けないのです。

テキストファイルの拡張子は「.txt」であると書きましたが、これはテキストファイルを表す拡張子としてもっとも一般的なものが「.txt」であるというだけです。プログラムで使うファイルは他の拡張子を使うことがほとんどですが、惑わされないように注意してください。ファイルの内容が 文字 であることが重要で、ファイルの名前に「.txt」がついているかどうかは関係ありません。ファイルの名前は内容と一切関係がないことを覚えておきましょう。

>>続きを読む
>>全記事を見る

<最新話にご興味があればフォローお願いします>


この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

スキありがとうございます!続きを書く元気がでます。
2
現役プログラマ。 https://cloned.jp
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。