コンピュータと文字

目次

  • ASCII アスキー
  • TEXT の世界
  • ASCII ART の世界
  • Unicode ユニコード

ASCII - American Standard Code for Informatin Interchange

第1版は1963年に制定された。

ANSI X3.4-1986

ascii

上記の図は、英語版 Wikipedia の「ASCII」より引用した。

ASCIIでは、7ビットすなわち「7けたの2進数」でアルファベット、数字、記号を表わす。

b7 b6 b5 b4 b3 b2 b1

b1 から b7 は、0 か 1 のビット。b1をLSB、b7をMSBとよぶ。

例えば、アルファベットの P は、2進数 1010000 だから10進数に変換すると 64 + 16 = 80 だから、アルファベット P は ASCIIでは10進数で 80 になる。2進数 1010000 のLSBは 0、MSBは 1 。

IANA は、文字コード用語として ASCII でなくUS由来を明示した US-ASCII を用いるよう強く推奨している。

練習問題

  1. アルファベットの A と a が、ASCIIでコード化されるとそれぞれ2進数で1000001と1100001である。では、10進数では、これらは幾らになるか答えなさい。

  2. Excel を使用して、ASCIIの表を作成してみる。いろいろなやり方があるが、例として、A列に0から127までの10進数を入力し、B列に =CHAR( ) 関数を使って十進数を文字コードに変換する方法がある。ヒント、=CHAR(65) は文字Aとなる。

  3. ASCII 図中 の NULL、 SOH、 STX などの文字は制御文字と呼ばれる。これらは、Excelでは表示されない。エクセルで、エラー表示されているセルはどれだろうか?


TEXT の世界


インターネットの創世記あるいは、それ以前のパソコン通信(BBS)の時代は文字、テキスト中心で情報を交換するネットワークが存在した。

それを現代に再現したものの一つにtelehack.comがある。ASCII の世界だ。

インターネット黎明期のネットワークをシミュレーションしている。当時のホストにログインして中を見ることも可能になっている。

Imgur

アクセスするとコマンド一覧が表示される。「.」がプロンプト(入力促進記号)である。プロンプトのあとに自分で目的にあわせたコマンドを打つとホストコンピュータが返答してくれる。

たとえば、2048ゲームができる。

. 2048

wコマンドを打つと、telehack.com にログインしているユーザの一覧が表示される。

また、ホストコンピュータにログインしている人々のIDや場所を fingerコマンドなどで知ることができ、さらにユーザについて色々な情報が得られる。

Telehackに接続した後、ユーザ登録することができる。newuserコマンドを使うとアカウントを取得できる。最初に年齢やプライバシーポリシーを読んだかどうかなどを聞かれるが、デフォルトはエンターキーを押せばよい。

. newuser

練習問題

  1. 以下のコマンドを実行し、それぞれのコマンドは何をするものか実行結果を見ながら考える。
. cal

例 cal 11 2018

誕生日の曜日を調べるにはどうすればよいか?

. w
. geoip

IPアドレス、住所、インターネット接続プロバイダなどを表示

他の Web で確かめることもできる。[http://www.geoip.co.uk/]

. help

コマンドの簡単な説明

. finger manabu
. roll
. eliza

精神分析医との会話

. starwars

スターウォーズのアスキーアニメーション

  1. 自分のアカウントを作成してみる。アカウントができたら、この仮想ネットの中にあるたくさんのコンピュータ群を次々とハックしてそのなかにある情報を取り出してみる。
  2. 教室内の仲間でお互いに会話できるコマンドがある。help で talk コマンドの使い方をしらべて友達同士で「会話」してみよう。ただし、newuser でアカウントを作成してからログインしなければ使えない。
  3. exit で終了。

Colossus: The Forbin Project (1970) Trailer

[https://www.youtube.com/watch?v=kyOEwiQhzMI]


ASCII Art

              _________________
 /∖__/∖     /
(  ´∀`)  <  Omaemona〜
(       )   ∖_________________
|      |
(___)___)

1950年代にタイプライターで描かれたという絵がYouTubeにある。

練習問題

  1. このサイトtext-image.comを利用して、画像、写真をアスキーアートに変換してみよう。
  2. text-image.com には、HTML, ASCII, Matrix の3つのメニューがある。それぞれ試してみよう。

漢字と文字コード


1716年 康煕字典、中国で出版、約4万7千文字。

1946年 当用漢字、1850字
1949年 当用漢字字体表

1978年 漢字コード規格 JIS C 6226 情報交換用漢字符号系、2965字第1水準、3384字第2水準、453字非漢字

1981年 当用漢字にかわる常用漢字、1945字
1983年 JIS C 6226の改訂

1987年 JIS C 6226 は、JIS X 0208 と改称された。

1990年 JIS X 0208改訂、2文字追加され6879文字

2000年 JIS X 0213「7ビット及び8ビットの2バイト情報交換用符号化漢字集合」4344字となる。JIS第3・4水準が加わる。

2000年 国語審議会が「表外漢字字体表」を作成。12月8日。康煕字典の形にもどした「印刷標準字体」。

2004年 JIS X 0213 は改訂され、10字追加され4354字となる。

2010年 常用漢字表が改定、2136字。

2012年 JIS X 0213 改正。

参考リンク

JIS X 0208 コード表


Unicode ユニコード


1990年代になって、アジアの漢字だけでなく世界の文字を表わすことができる Unicode という新しい文字コード体系がつくられた。インターネットの普及により、Windows や Mac などで作成したメールなどの交換が増加したことにより、あらゆる国々で使える新しい文字コードを世界で普及させる必要が発生したともいえる。

The Unicode Consotium へのリンク

Imgur

Windows Mac も内部コードは Unicode になっている。

Unicode の保存形式としては、16ビット単位の UTF-16 と8ビット単位の UTF-8 がある。

UTF-8 は、ASCII と互換性があり、Web で採用されている。

練習問題

  1. ユニコード(Unicode)の値を使って、エクセル で漢字や絵文字などを表示するには、=unichar( )関数を使う。例えば、 =unichar(23398)を試してみると「学」の文字がでる。

  2. 自分の名前を=unichar( ) 関数を使って表示してみよう。ヒント、ユニコード文字表の漢字

  3. 絵文字をつかう。この中から探して、顔文字を表示してみよう。参考リンク エクセルでユニコード絵文字をつかう

  4. Android スマートフォンや iPhone などでもエクセルのような表計算ソフト(スプレッドシート)を使うことができる。スマートフォン環境でも =char( )関数を試してみよう。