ファイルとは何でしょうか。エンジニアになるならファイルへの理解は必須です。
ここでは何気なく使ってるファイルについて、より知識を深めましょう。
ファイルの概念
そもそもファイルとは何でしょうか。以前から話してる通りコンピュータは0と1しか扱えません。
がっ、そんな0と1の集合を人間が理解するのは不可能です。そうなると対策が必要ですよね。
これを解決してくれるのがファイルの概念です。このおかげで我々はデータを簡単に扱えます。
画像とか音楽もファイルですよね。これも0と1の集合ですか?
そうだよ。どんなファイルでも0と1の集合になるね。
ファイルは大きい分類でバイナリファイルとテキストファイルに分かれるよ。
バイナリファイル (binary file)
バイナリは英語で2進を意味します。その意味の通りで2進数で記述されたファイルです。
バイナリエディタを使うと開けますが、0と1の羅列を16進数で見れるのみで普通は理解できません。
POINTバイナリファイルを開くためにはバイナリエディタが必要。普通のテキストエディタでは開けない。
テキストファイル (text file)
先に補足するとテキストファイルもバイナリファイルの一種です。
ただし、2進数の表現する値が文字コードと等しく、テキストエディタで開くと文字列として見えます。
普通にメモ帳とかで開けるファイルです。
ファイルフォーマット (file format)
他にもファイル形式とかデータフォーマットと呼ぶこともあります。これはファイルがどんな構造で記述されるかを意味してます。
有名なファイルの種類であれば、内部構造は明確に定義され、それに従わないと意味を成しません。
バイナリファイルならbyteの並び順、テキストファイルなら記述ルールが決められてるよ。
具体的にはどんなルールなんですか?
それはファイルの種類によって変わるよ。今回はJSONってファイルをサンプルにするね。
極端な話をすると、ある画像ファイルがあったとして、それを音楽プレイヤーのアプリに投げたら再生されるかもしれません。
これはファイルが単に0と1の集合であり、音楽ファイルとしては区別されてないからです。
とは言え、フォーマットの中にはデータ以外にもヘッダ情報など、特別な意味の情報が付加されてるため、そんな奇跡はまず起きません。
なんかの画像投げて音楽として再生されたら凄い?
バズるから呟いたほうがいいよ。
拡張子 (extension)
ファイル名の最後の.(ドット)以降に付いてる文字列です。大抵3文字か4文字ですが、別に文字数の制限はありません。
ついでに言うと、ファイル名に.が複数個ついてる場合、最後の.以降が拡張子として扱われます。
これはファイルの種類を示す文字列で、この値を元にOSは起動するアプリを判断します。
例えばテキストファイルなら.txt、画像なら.png、音楽ファイルなら.mp3など、主流なファイルは拡張子が決まってます。
しかし、何故なのか拡張子は標準設定で表示されず、どうしてこんな仕様にしたのか疑問しかありません。
と言うことで拡張子を表示する方法を別枠で説明します。表示されてない人は絶対に表示してください。
POINT拡張子の表示は必須!
あとがき
エンジニアは拡張子が非表示のパソコンを見ると発狂します。みなさん気をつけましょう。
諸説あります。
◆ コンピュータサイエンスに関する学習コンテンツ
この記事は参考になりましたか?
コメント