具体例:
おおまかな配置と 制御文字:
同じ文字の大文字と小文字は2行離れて並んでいる関係(2bit目だけが互いに違っているという関係)
数字と特殊文字(キーボードで数字をシフトして打つ文字)の関係も1bit違い。
多くのプログラミング言語で文字列の大小比較(やそれに基づいての 降順・昇順での整列など)が機能として内蔵されているが、
その場合も、その文字列を構成する文字コード(おそらくASCII)を 文字列の先頭から順に比較して大小の判断を行っている(右実演例を参照)。
制御文字はコンピュータ登場以前の通信で使われていた名残でもある。
ただし一部はコンピュータ時代になっても重要な役割を果たしている。
制御文字のうち、CR LFは重要(後述)なので覚えておこう。
キーボードで制御文字を入力する時にCtrlキーとアルファベットを同時押し(Ctrl-Hなど)するのが当時の流儀だった。
それぞれ右図のような単語の略語。
carriage で画像検索す ると想定外のものが出てくる。
「carriage typewriter」 或いは、 さらに語を付加して 「carriage typewriter lever」 のようにしてみよう。
CR、LF
は、このタイプライター(およびそれを発展させたテレタイプ)の動作を模擬させるべく作られた制御文字。
紙を巻きつけるローラが carriage の機構の中に含まれていて、
タイピストは、行末近くで carriage を右端に押し戻す操作(リターン)を行う(と、印字される場所は紙面の左端=行頭に来る)。
と同時にレバー操作によりローラが一行分回転する(Line Feed操作)。
このような動作が、キーボードの配列 等とともに、
現代の技術の中に遺産として残っていることになる。
テキストファイルで各行の行末には、(エディタでは何か設定をしないと表示されないので気が付かないが)「改行」を表す特殊な記号として、この CR LF の並び(つまり2バイト分が入っている。
「クリップボード」について考える機会を作りたいので、 CLCL というアプリケーションを使ってみましょう。 (でもCLCLの使用は興味のある人限定でいいです。他の方法も紹介しているので、いずれかの方法でクリップボードの様子を観察してみて下さい。)
下記(or右図)のコマンドでもインストールできるし (でもScoopのbucketにはないようです)、
もちろん開発元やアーカイブサイトからダウンロードしてもいい。
ダウンロードするものは、zip版でもインストーラ版(.exe)でもいい。
cinst clcl.portable -y # 管理者権限のコマンドプロンプトで
上記のCLCLのダウンロードサイトには、.zip
、.exe
の拡張子のついたファイルが
置いてある(この機会にその意味を確認しておく)。
.zip
は複数のファイルを1つのファイルにまとめ(さらにそれを圧縮しサイズを極力コンパクトにし)たもの。
つまり2つの操作を行った結果、と言える。
アーカイブファイルとも呼ぶ。
圧縮の方式は他にも多数あるが昨今のWindowsパソコンやネットの配布では最もよく使われるのがこの
.zip
。
‘.zip’ を「開く」と、Windowsではその中身を(仮の姿として)エクスプローラで表示する。個々にファイルに対して一部の機能(表示など)は可能だが、中に含まれるプログラムを使うなど、きちんと使えるようにするためには「解凍」操作が必要。
「圧縮」はファイルの中にある「冗長性」を取り除く作業であるが、 十分に圧縮されたファイル(ぎゅっと絞って水分を取り除いた後の雑巾を イメージされたい)はこれ以上は圧縮できない(冗長性がほぼ除去されきっているため)。
.exe
は実行形式(の1つ)。プログラム本体と考えていい。「開く」操作では、
そのプログラムが起動され実行状態になる。
逆に言えば、この実行形式(に属するファイル)以外のファイルは、いずれかのアプリケーションを起動して、そのアプリケーションで当該ファイルを開く、という(従属的な)使い方になるということ。
日常の動作として、ただファイルを「開く」操作(ダブルクリック等)を行うと、 「関連付け」によって定められたアプリケーションが起動して当該ファイルを開くことになる。
その関連付け以外のアプリケーションで開く際には、アプリケーションと、データとを、何かの形で「出会わせる」必要があるだろう。
コンピュータ操作の基本としてこの方法を知っておくことにしよう。
情報処理関連の授業は(中高でも大学でも)ともすれば1つの環境(ソフトウェア、など)に依存しがちになる(教材開発側の都合でもあり、受講者の便宜のためでもある)。
こうしたソフトウェアは使う人には便利(イタレリツクセリ)なのだが、 そこで使われている技術やデータに関して意識せずに使われてしまう危険性もある。
本科目ではあえてその便利な道具を排除して、小さい道具(とOSの基本的な機能) の組み合わせでコンピュータを使う方向をめざす。道具を組み合わせて使う技術も 修得を目指しましょう。
その中で、テキストエディタとコマンドプロンプトは重要な役割を果たすので大事に使って下さい。