エンジニア、クリエイターのための派遣求人情報ラボラトリー
キャリア・ラボ IT TOP > IT Columns > 文字コードで世界に出る〜さらば!文字化け〜 > 第4回
IT Columns 【文字コードで世界に出る〜さらば!文字化け〜】
「ASCII」の制御文字を実験する
04

 前回、数多ある文字コードの中でも基本中の基本とも言える「ASCII(アスキー)」を取り上げ、その並びがタイプライターの影響を受けている旨、説明しました。今回は、ASCIIの中の「制御文字」と呼ばれる文字について注目してみましょう。

「制御文字」はテレタイプを制御するため

 ASCIIでは16進数の00h〜7Fhの128個の領域に、英数字や記号などの95個の文字のほかに、「NUL」や「BEL」、「DEL」などの「制御文字」または「制御コード」と呼ばれる特殊な文字が33個、規定されています(図1の緑色の領域)。

【図1】
ASCIIの文字コード表
 「制御」とは、いったい何を制御するのでしょうか? 試しに用語事典の類で「制御文字」を引いてみると、「ディスプレイなどの周辺装置を制御するための特殊文字。装置制御文字ともいう。」(『超図解パソコン用語事典』)といった解説が載っています。

 今日の視点で考えた場合、情報機器で情報交換を行うために定められた文字コードの中に、周辺装置を制御するための文字が混じっていることには違和感を禁じ得ません。
 しかし、ASCIIが開発されたのは40年以上も昔。パソコンはおろか、ディスプレイ端末もなかった時代です。当時の汎用コンピュータと対話を行うためには、もっぱら紙テープとプリンタ、タイプライターと通信装置を合体させた「テレタイプ(teletype)」という機械が使われていました。

 その名残は、ポツンと1つだけ、他の制御文字とは離れた場所に配置されている制御文字「DEL」の位置に見られます。当時、データを記録するのに使っていた紙テープでは穴があいていれば1、あいていなければ0というように、穴の有無でデータの各ビットを表現していましたが、一度穴をあけてしまった穴をふさぐことはできないため、データを削除する場合はすべての場所に穴をあけた状態、すなわち、すべてのビットを1の状態にすることで対応していました。前回説明した通り、ASCIIは7ビットの文字コードですので、そのすべてのビットを1にした状態、2進数の1111111=16進数の7Fの位置に削除をあらわす制御文字「DEL」が割り当てられたというワケです。

 そういった時代背景を考えると、ベルを鳴らす「BEL」、印字ヘッドを次のタブ位置まで飛ばす「HT」、印字ヘッドを行の先頭位置に戻す「CR」、用紙を1行分送る「LF」などが制御文字として規定されたのにも、何となく納得がいくのではないでしょうか。

制御文字を使ってブザーを鳴らす

 さて、ASCIIでは制御文字として「NUL」〜「DEL」の33個の制御文字が規定されていますが、私たちが日頃使っているWindowsの世界でも見かけるのは「NUL」「BS」「HT」(タブ)「LF」「CR」「DEL」といったところでしょうか。通信系のソフトの開発をされている方であれば、「ENQ」や「ACK」なども聞いたことがあるかも知れません。

 しかし、中にはひっそりとその役割を果たしてくれる制御文字もあります。今回はその一例としてベルを鳴らす制御文字「BEL」を使って、実際にブザーを鳴らす実験をしてみましょう。

 まず、キーボードから制御文字を入力することはできませんので、制御文字を入力する方法を用意する必要があります。
 ここでは、ASCII文字を表示・入力するフリーソフト「Ascii Ver.2.0」を使うことにします。開発元のプレジャースカイ社のサイトあるいはVectorのサイトなどから「Ascii Ver.2.0」をダウンロードしたら、適当なフォルダに解凍してください。解凍して出来上がった「ASCII.EXE」をダブルクリックすると、プログラムが起動します。

 起動した直後は、制御文字は表示しない設定になっていますので、「ツール」→「セットアップ」を実行して、「制御コードの表示」をチェックしてください(図2)。すると、一覧表の先頭に制御文字も表示されるようになります。

【図2】
ASCII文字を入力するソフト「Ascii Ver.2.0」

 制御文字の「BEL」にマウスポインタを合わせたら、右クリックします。ショートカットメニューがあらわれますので、「コピー」を選択します(図3)。

【図3】
制御文字「BEL」をクリップボードにコピー

 これで制御文字の「BEL」がクリップボードにコピーされました。
 引き続き、Windowsに添付している「メモ帳」を用いて、クリップボードにコピーした制御文字をテキスト中に貼り付けます(図4)。

【図4】
メモ帳に制御文字「BEL」を貼り付け

 「貼り付け」コマンドなどで制御文字「BEL」を貼り付けても、画面上では小さな黒丸が表示されるだけですが、それで構いません。いくつか連続して貼り付けを行ったら、適当な名前を付けて保存します。

 MS-DOS時代からパソコンを使っていた人なら、「COPY」コマンドを用いると、テキストファイルの内容を画面上にコピーできることをご存じかと思います。これで制御文字が実際に機能しているのかどうかを確認することができます。
  このワザはWindows環境でも健在です。

 WindowsXPであれば、「スタート」メニューから「すべてのプログラム」→「アクセサリ」→「コマンド プロンプト」を実行すると、コマンドをキー入力する画面があらわれます。そこで「copy bell.txt con」というようにキー入力して、さきほど作成したテキストファイルを画面(con)にコピーしてみてください(図5)。

【図5】
制御文字を貼り付けたテキストを画面表示すると

 テキストファイルの内容が表示された後に、しばらくの間、「ピ〜〜」とブザーが鳴ったハズです。パソコン用のモニタにはベルが付いていませんので、その代わりにブザーが鳴ったワケです。

 今となってはいったい何のために存在するのか、よくわからない存在となっている制御文字「BEL」ですが、昔はちゃんと端末装置のベルを鳴らすという役割を果たしていたのです。
 およそ無用の長物ばかりのように見える制御文字も、制定当時の時代背景を考えると、それなりの役割を担って決められたものであることがわかります。

ページトップ
フジスタッフホールディングスグループのサイト
オフィス系人材サービスキャリア・ラボ 人材派遣 | 転職 | ITエンジニア | CAD派遣 | 新卒・第二新卒 | ワーキングマザー
ファクトリー系人材サービスジョブデパ 求人情報 | エンジニア
その他人材サービス:人材紹介 | 旅行 求人 | メンタルヘルス | キャリアサポート | 障害者支援
その他サービス:ネットショッピング | タイムレコーダー販売 | 広告デザイン | ITソリューション | 大型ビジョン放送 | 保険相談