2022/3/31に行った勉強会「ファイルについて」のレポートと感想である。同日に行われた勉強会「コンピュータについて②」内で触れた内容から、Windowsのファイルについての説明である。
「コンピュータについて②」の記事はこちら↓

ファイルとは
コンピュータ上でデータ管理を行うための単位であり、拡張子によって種類が切り分けられている。
ファイルの種類
データ用ファイル
コンピュータ自体の動作に影響しない、各種データが記録されたファイル。PowerPointやExcel、画像といったファイルが存在する。
設定用ファイル
コンピュータの動作に影響を与えるファイルであり、ソフトウェア等も管理している。設定用ファイルは、.iniファイルという、各種アプリケーションやWindowsの設定が保存されているファイルと、レジストリと呼ばれるWindowsの各種設定が保存され、Windowsの動きそのものをコントロールするファイルが存在している。これら二つのファイルは内容変更が可能であり、自分好みにファイルの中身を変更しコンピュータの仕様を変更することができるが、この技術はとても高度である。下手するとコンピュータ自体が動作しなくなる可能性もあり、最悪の場合Windowsの再インストールを行う必要があるため、設定を変更する場合はバックアップを取っておくなどの対策をしておくべきである。
ファイルの概念
固定長と可変長
ファイル内の様々な情報に関して、ただ羅列されているだけの情報と情報の区切りを判別するための定義として、固定長と可変長という2種類の形式が存在する。
固定長
ファイル内データの項目全体において長さ・桁数・文字数があらかじめ定められているファイル形式。ファイル内すべてのレコードにおいて長さが同じであるため、何文字目から何文字目までがこの項目と判断しやすい。しかし、固定的であるために文字数が足りない場合やオーバーした場合、データの長さを変更する手間がかかる。
例:山田太郎東京都中央区090@@@@@@@@
田中花子東京都新宿区080@@@@@@@@
→1文字目から4文字目までが名前
5文字目から10文字目までが住所
11文字目から21文字目が電話番号、と固定されている。
可変長
ファイル内のデータ項目の長さ・桁数・文字数等データの大きさが一定でない、レコードの長さに決まりがないファイル形式。文字数は固定長と真逆の定義である。
例:山田太郎丸東京都中央区090@@@@@@@@
田中花子東京都江戸川区03@@@@@@@@
→文字数が足りない、またはオーバー等を考える必要がない。レコードごとに名前、住所、電話番号といったデータの認識をしてくれる。
区切り文字
データを区切るための形式。可変長によるデータの区切りを判別するために区切り文字を使用する。
Tab区切りファイル
Tabキーを用いて区切ったデータをテキストファイルで保存する形式。TSV形式(Tab Separated Values)とも呼ばれる。Tab区切りはスペースキーによる空白と意味が異なり、コンピュータはTabによってデータが切り分けられていると判断してくれる。スペースキーによる区切りの場合、コンピュータはデータが切り分けられていると判断してくれない。Tabキーによる区切りとスペースキーによる区切りの違いはExcelを使用するとわかりやすい。
例:メモ帳からExcelへコピペ
⇨
Tab区切りはセルを分けてデータが反映されているが、スペース区切りは1つのセルにすべてのデータが入ってしまう。
カンマ区切りファイル
カンマを用いて区切ったデータをテキストファイルで保存する形式。CSV形式(Comma Separated Values)とも呼ばれる。
例:AAA,BBB,CCC,
可変長との関係性
可変長は桁の長さが決まっていないため、データごとの区切りを判別するためにTabやカンマといった区切り文字を使用している。
シングルバイトとダブルバイト
どちらもコンピュータ上で1つの文字を表すときのデータ量を指す。
シングルバイト
1バイトで表現できる文字、いわゆる半角文字を指す。256通りの情報を表すことが可能(1バイト=8ビット=2の8乗=256)。半角で表現される文字は、アルファベット大文字小文字合わせた52種類・カタカナ50文字・数字0~9の10種類・その他記号があり、すべてを合計しても256通りですべてを表現することが可能である。
ダブルバイト
2バイトで表現できる文字、いわゆる全角文字を指す。全角はアルファベット・カタカナ・数字・記号のほかに、ひらがな・漢字といった文字が存在しており、1バイト=256通りで表現することは不可能である。2バイトは65536通りの表現が可能(2バイト=16ビット=2の16乗=65536)。日本には使用頻度の高い漢字2965字をJIS第1水準として規格しており、この時点でシングルバイトでは漢字を表現することは不可能である。しかしダブルバイトは65536通りの表現が可能であるため、全角はダブルバイトで表現される。
固定長との関係性
固定長は桁数があらかじめ定められているが、この桁とは一般的に1文字ではなく、1バイトという意味である。そのため固定長を使用する場合は、バイト長で定義する必要がある。
※補足
ITの世界において、255・65535という数字はキリがいい数字といわれているため、覚えてよくとよい。
文字コード
コンピュータ上で扱われる文字や記号に割り当てられた固有の番号のことを指す。コンピュータは文字などのすべてのデータを数値によって認識しており、データを切り分けるために用いられている。UTF-8やSJISといった種類が存在し、多くのPCはこれらの文字コードが使用されている。文字コードが異なる状態、文字コードUTF-8で保存・登録したファイルやウェブページを別の文字コードを用いて開いた場合、文字化けが発生してしまう。また文字コードによってはTabという情報が表現されない場合もある。
感想
ここ数か月、プログラムの実物を見ることや操作をする機会が増え、さらに勉強会でも触れる機会があり、今回の内容は聞き馴染みのある用語も多々あった。内容に関して理解していなかった部分も以前は多かったが、今回の勉強会内容と実際のプログラミングにて行ったことを振り返り、改めてプログラムについて考えることで、それぞれの概念や意味を理解できたと感じた。
そして、ITに関して知っておくべき知識は数えられない程あり、IT未経験者が一から覚えることは容易ではないことを実感した。
コメント