2013年12月29日

日本語入力システムとは

 百度という日本語入力システムが、変換した文字列を利用者に無断で送信している報じられました。ITmediaなどのITニュースサイトだけでなく、テレビでも報じられているようです。

「日本語入力システムは、かなを漢字に変換したりするソフトですよ」と言われてもコンピューター初心者の方だとピンとこないかも知れない……と私は思っています。「その機能を実現しているのも1つのソフトウェアなんですよ」と言った方がいいかもしれません。人によって、デスクトップのどこかに表示されている人もいれば、タスクバーの端の方に表示されている人もいれば、どこにも表示されていない人もいるこれ(↓)のことです。
IMEツールバー

 Windowsでは最初から使用できるうえに、スタートメニューから起動して使う物でもないので、これが1つのソフトウェアだという認識が薄いかも知れませんが、そうなのです。最初から使えるものや、Microsoft Officeをインストールしたときについでにインストールされるのは、Microsoft IMEというソフトウェアです。これに競合する他社製のソフトウェアとしては、ジャストシステム社の「ATOK(エートック)」やGoogleの「Google日本語入力」があります。ATOKは内蔵されている辞書が豊富で、日本語を正確に変換できると言うことで評判です。Google日本語入力はGoogle検索で収集した単語を辞書に登録しているためインターネットで使われる俗語に強いという特徴があります。

 私が使用しているのはATOKです。変換精度がよいのもメリットですが、アイコン1つで日本語のON/OFF状態がアイコン1つで分かるので非常に使い勝手がよいのです。上の画像で紹介したIMEツールバーは、設定を変更しても、ON/OFF状態を表すアイコン1つだけにすることはできません。そのため、必要以上にタスクバーの場所を取ります。ATOKでは、設定によって次のように通知領域にアイコンを1つだけ表示させることができます。
通知領域のATOKアイコン

 日本語入力システムは1つのソフトウェアですが、常にどれか1つだけが有効になっていないと困るものですから、スタートメニューから起動するわけではなく、Windowsの設定から選択するようになっています。Windows 7の場合、コントロールパネル→「時計、言語、および地域」→「地域と言語」→「キーボードと言語」タブ→「キーボードの変更」→「既定の言語」で選択します。

 冒頭で挙げた百度も日本語入力システムのひとつで、これといって長所があるわけではなく無名なものです。しかし、他の怪しいソフトウェアをインストールしたときに勝手にインストールされていることがあり、日本語入力システムがどういうものか分からない人がそのまま使ってしまっていたというわけです。
web拍手 by FC2
posted by 北条利彦 at 14:09 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2013年09月14日

ユーザーとアカウント

 記事の見出しに挙げた2つの単語「ユーザー」と「アカウント」は区別があいまいに使われていることが多々あります。「ユーザーアカウント」という、両者をあいまいなまま区別しないように呼ぶための単語まであるくらいです。

 しかし、実際にはこの2つの単語は意味が異なります。e-Wordsで「アカウント」を調べてみると……

アカウント 【 account 】
コンピュータやネットワーク上の資源を利用できる権利のこと、または利用する際に必要なIDのこと。PPPアカウントやメールアカウントなどがある。

……と書かれています。「権利のこと」と言われてもピンとこないかも知れませんが、元々の「アカウント(account)」の意味が銀行の「口座」であることを考えると分かってきます。

 銀行の利用者(ユーザー)が人であるのと同じように、コンピューターの「ユーザー」も人のことを指します。銀行に口座という概念があるのと同じように、コンピューターにもアカウントという概念があるのです。コンピューターのユーザーは、コンピューター上にアカウントを作ることで、そのアカウントに許された操作ができるようになるというわけです。

 銀行口座と同じようにコンピューターのアカウントも1ユーザーにつき1件が基本ですが、そうでない使い方もできます。たとえば、鈴木さんがコンピューターを使うためにsuzuki1とsuzuki2というアカウントを作成した場合、1人のユーザーが2つのアカウントを持っているということになります。逆に、administratorというアカウントを、鈴木さんと佐藤さんの2人のユーザーが使う……という(望ましくない)管理をする組織もあります。

 アカウントの説明は、前述したように「コンピュータ(中略)の資源を利用できる権利のこと」と端的に書かれますが、その中には、上記のような意味が含まれているのです。
web拍手 by FC2
posted by 北条利彦 at 10:49 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2013年04月18日

スクリーンショットの保存

JPEGはスクリーンショットの保存には不向き

 JPEGでスクリーンショットを保存したがる人もいますが、JPEGは写真を保存するために設計されたフォーマットなので、PC画面を保存するには不向きです。

 人が写真を見るとき、空など色がなだらかに変化している部分に画質劣化があるとその劣化部分が目立ちますが、物と背景の境界部分など、色が急に変化している部分は画質劣化が目立ちません。それを利用して、ファイルサイズを小さくしつつ、画質の劣化はあまり目立たないところに集中させるようにしたのがJPEGです。

 写真の場合はこれでよいのですが、色が急に変化する部分こそが重要な画像の場合、その重要な部分が集中的に劣化します。また、JPEGは色数の少ない画像には対応しておらず、65536色やフルカラー(1677万色)の画像しか扱えません。スクリーンショットは色数が少ないうえ、文字の部分は色が急に変化するのでJPEGは適していないといえます。

画像の保存方式の違い

名前256色対応フルカラー対応画質劣化備考
JPEG×あり輪郭部分は画質劣化が激しい
GIF×なし透過色対応
PNGなし透過色対応・各種ソフトのデフォルトではフルカラーで保存
Windowsビットマップなし圧縮しないのでファイルサイズが非常に大きい


減色する方法

画像を256色に減色

 JTrimの右下のビット数のところをクリックして8bitを選択すると、1ピクセルあたり8bit(256色)に減色されます。この画像自体もJTrimで8ビットカラーに減色してPNGで保存したものを貼りつけています。PrintScreenでコピーした物を貼りつけた時点では8ビットカラーではなくフルカラー(ディスプレーの色数に依存?)として保存されてしまうので、減色操作を行ってから保存して下さい。
web拍手 by FC2
posted by 北条利彦 at 22:15 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2010年10月16日

数字と数値は異なる

 コンピューターを扱っていると、言葉一つ一つの意味に敏感になってくることがあります。プログラムを書いていると、あいまいさがほとんど許されないためです。
人気ブログランキング
 世間一般では適当に扱われているような気がしますが、「0という値がある」ことと「値を定義できない」ことは明確に異なります。PASMOを持っていない人は「PASMOの残金」という数値は定義できません。PASMOを持っていて、その残金がない場合は PASMOの残金=0 となります。

 一般的には同じように使われている2つの単語でも、正確には意味が異なっていることもあります。

 たとえば「数字」と「数値」は異なるものです。「数字」は「字」であることがポイントです。「1000」というのは1つの数値ですが、数字は4文字あります。日常の会話だけでこれに気づくことは滅多にありませんが、プログラムを書くと、数字として扱うときには4バイト必要になり、数値として扱うときには2バイトで済むという形で、言葉の意味の違いが見えてくるのです。
web拍手 by FC2
posted by 北条利彦 at 11:13 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2010年02月27日

JPEGは繰り返し保存で画質劣化する

 デジタルでは何回コピーしようとデータが劣化することはないのですが、それもやり方次第です。

 たとえば、非可逆圧縮方式であるJPEG形式の画像は、画像処理ソフトでファイルを開いて、[名前をつけて保存]や[上書き保存]を行うと、それだけでもデータは劣化します。JPEGの画質設定を下げると画質が悪くなることとは別で、開いて保存するだけでも画質は劣化するのです。

 理由は後にして、実際にやってみましょう。

 このブログを表示したブラウザーを画面キャプチャーしたのち、簡易画像処理ソフトのJTrimに貼り付けます。そして、JPEG形式で保存したのが次の画像です。ファイル名は[Image00.jpg]としておきます。

Image00.jpg


一度JTrimを閉じてから、この画像を再びJTrimで開き、[名前をつけて保存]で"Image01.jpg"という名前をつけました。どちらの画像も、見ただけでは違いが分かりません。しかし、ファイルサイズは以下の通りになりました。

Image00.jpg - 52224バイト
Image01.jpg - 51712バイト

 わずかながら画像が変化していることが分かります。

 前回の記事「データの圧縮」で書いたように、JPEGは非可逆圧縮方式です。したがって、一度圧縮してから元に戻すと、元の画像には戻らないのです。「Image00.jpgは既にJPEG圧縮されて画質が下がったから、開いたり保存したりしても画質はこれより悪くなったりしないだろう」という理屈も成り立ちません。

 JPEGの圧縮や展開には、複雑な実数計算が伴います。そして、コンピューターによる通常の実数計算ではどうしても誤差が伴うものです。そのため、圧縮処理・展開処理をすれば、多かれ少なかれ画質の劣化が生じます。「圧縮率を変えなければ画質劣化しない」と言われることも多いですが、間違いです。誤差を伴う計算を含んでいる以上、同じ圧縮率でも画質は劣化していきます。ただし、10回や20回繰り返しても見た目で判別はできませんので、実用上は問題ないといえます。

 なお、Windows上のファイル操作でコピーや貼り付けをする場合には、圧縮・展開処理が行われないので、わずかな画質の劣化すらありません。画質の劣化はあくまで、画像処理ソフトで開いたり保存したときに生じるものです。

人気ブログランキング
web拍手 by FC2
posted by 北条利彦 at 16:53 | Comment(2) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2008年07月26日

やっぱこれだね、外来語の表記

 マイクロソフト社が、ソフトウェアに使っている外来語の表記を変更するそうです。「プリンタ」と書かれていたものは「プリンター」に、「コンピュータ」は「コンピューター」になるそうです。

「コンピュータ」→「コンピューター」に MSが表記ルール変更
http://www.itmedia.co.jp/news/articles/0807/25/news090.html

 私はこの変更を全面的に支持します。実際、このブログでも「コンピュータ」ではなく「コンピューター」と書いています。

 ITmediaの記事にあるような「プリンタ」など長音記号を省く表記は、工業の分野で使われている表現で、ソフトウェアの表記でもこれに従っているものが多くあります。

 しかし世間一般では英語の語尾である「er」や「or」に相当する部分は長音記号を用いて表記することになっています。そのため、業界の中だけで使うソフトウェアならば「プリンタ」の表記でも構わないのですが、世間一般の人に使ってもらうソフトウェアとしては「プリンター」の方が適切なのです。

 パソコン自体が普及したため「プリンタ」のような表記もある程度広まってきましたが、それでも工業分野の中で使用される特有の表記方法に過ぎません。世間一般に向けたソフトウェアで使うべき表記ではありません。
web拍手 by FC2
posted by 北条利彦 at 09:36 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2008年03月07日

2進数とは

 このブログで何度も書いていますが、厳密には、コンピューターは数値しか扱うことができません。さらに、その数値自体も、扱えるのは0と1のみです。したがって、1よりも大きい整数である4や27、あるいは負の整数である-5、小数である0.2などをどう扱えばいいか、という問題が出てきます。

 負の数や小数は複雑ですが、0以上の整数は比較的簡単に表現することができます。まず、0と1はそれぞ0、1で構いません。そして、2、3、4……と増えていくと、10、11、100……となります。

 コンピューターの場合、扱える整数の桁数が決まっていることが多いので、桁数が足りない分は頭に0をつけて書き表すのが普通です。たとえば、4桁で整数を表す場合は以下のようになります。

0 → 0000
1 → 0001
2 → 0010
3 → 0011
4 → 0100
5 → 0101
6 → 0110
7 → 0111
8 → 1000
9 → 1001

 このように、0と1の2種類の数字のみで整数を表す方法を2進数と呼びます。これは「にしんすう」と読みます。日常で使っている表記は0〜9の10種類の数字を使うので10進数と書き、正式な読みは「じっしんすう」です。もっとも、日常的には十回を「じゅっかい」と読むのと同じで、10進数も「じゅっしんすう」と読むことが多いです。

 一方、2進数の表記を取り入れ、単純に 1000 と書いてしまうと、10進数で書かれた「千」なのか、2進数で書かれた「八」なのか区別がつかなくなってしまいます。そこで2進数を書く場合は、2進数で表したい数値の右下に、小さめの文字で (2) や 2 と書くのが普通です。たとえば次のように書きます。

  8=1000(2)

 2進数同士で足し算するときの計算方法や、10進数と2進数の相互変換などもよく知られているのですが、それらは次以降の記事で書きます。

人気ブログランキング
web拍手 by FC2
posted by 北条利彦 at 00:16 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2008年03月01日

はじめに 0 ありき

 人がモノを数えるときには1から始まるのが普通ですが、コンピューターの場合は0から数え始めることが何かと多いです。もちろんこれには理由があるのですが、端的に書いてしまえば「その方が便利だから」です。

 たとえば検索エンジンの結果などで、何百件、何万件とあるデータを、1ページあたり25件ずつ表示する機能があったとしましょう。このとき、

 1番目のページに、 1番目〜25番目のデータを表示
 2番目のページに、26番目〜50番目のデータを表示
 3番目のページに、51番目〜75番目のデータを表示

……という具合にデータを処理するよりも

 0番目のページに、 0番目〜24番目のデータを表示
 1番目のページに、25番目〜49番目のデータを表示
 2番目のページに、50番目〜74番目のデータを表示

……とするほうが、ちょっとだけ計算しやすくなります。このように、0番目から始まる数え方を「0起算」といいます。1から数え始めるのは1起算です。

 上の例で1起算では、データの番号から1を引いて25で割ったときの商に1を加えるとページ番号になります。たとえば51番目のデータは、(51-1)÷25+1=3なので、3ページ目です。一方、0起算の場合、データの番号を25で割ったときの商がページ番号に一致します。51番目のデータは、51÷25の商は2(余り1)なので2番目のページに表示されます。このように、0起算の方がシンプルに計算できます。

 もっとも、コンピューター内部では0起算の方がシンプルだとはいっても、世間一般では1起算が広く使われている事実は変えられません。そこで、表示するときにはページの番号やデータの番号にそれぞれ1を加えます。

 0番目のページ → 1ページ目として表示
 1番目のページ → 2ページ目として表示
 
 0番目のデータ → 1番目のデータとして表示
 1番目のデータ → 2番目のデータとして表示

 こうすることで、内部では0起算でも、利用者の目には1起算に見えます。

 ところで、西暦と世紀も1起算なので2001年から2100年までが21世紀となっています。そのため、1999年から2000年に変わっても20世紀のままであり、2000年から2001年に変わったときに21世紀になる……という不自然な状況が生まれました。もし西暦0年、0世紀から始まっていれば、794年は7世紀、1192年は11世紀、2009年は20世紀……という具合に、西暦を100で割った商を求めるだけで何世紀なのか分かります。0から数え始めると、きわめて自然な考え方が通るようになるのです。

人気ブログランキング
web拍手 by FC2
posted by 北条利彦 at 12:15 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2008年02月09日

文章(文字列)の処理

 厳密には、コンピューターは数値しか処理できません。コンピューターで文字を扱うには、文字と数値を対応させ、その数値を扱うようにしています。

 文字の並びを表現する方法は「文字コード」の記事に書きました。では、文章をコンピューターが扱うにはどうすればよいでしょうか。単純に文字をひたすら並べていくだけなら、「文字コード」の記事で書いた仕組み通りに処理すれば問題はありません。しかし、文章は文字を並べただけでは作れないのです。

 中学校の文法の授業を思い出してほしいのですが、文章はいくつかの段落で成り立っています。そして、段落が変わると改行し、段落の最初は原則として1文字下げて書き出します。文字を並べていくだけでは「どこで行を変える」という情報が入っていないので、まったく段落を分けていない文章しか作れなくなってしまいます。

 つまり、本当に文字しか入っていないデータはこのように表示されてしまうのです。

文字と数値が1つずつ対応してさえいれば、そのコンピューターで文字を扱うことはできるのですが、他のコンピューターと文字のやりとりをするときのことを考える必要があります。仮に、コンピューター1では文字コードを次のように定義していたとします。A=65、B=66、C=67さらに、別のコンピューター2では次のように定義していたとします。A=64、B=65、C=66このときコンピューター1からコンピューター2へ文字“A”を送信したいとします。


 この調子で全文が表示されてしまうと、最後まで読む気がしなくなります。

 ではどうすれば良いかというと、答えは簡単です。「どこで行を変える」という情報がないのが問題なのですから、行を変える場所を示すデータを付け加えてしまえばよいのです。このデータを「改行コード」といいます。改行コードも文字コードの1つです(注:文字コード体系の1つではない)。

 改行コードも結局はただの数値です。そのため改行コードも、1列に並んだデータの一部に過ぎず、次のようなイメージでデータが並びます。

文字と数値が1つずつ対応してさえいれば、そのコンピューターで文字を扱うことはできるのですが、他のコンピューターと文字のやりとりをするときのことを考える必要があります。[改]仮に、コンピューター1では文字コードを次のように定義していたとします。[改][改]A=65、B=66、C=67[改][改]さらに、別のコンピューター2では次のように定義していたとします。[改][改]A=64、B=65、C=66[改][改]このときコンピューター1からコンピューター2へ文字“A”を送信したいとします。


 実際のデータは [改] の位置に改行コードが入りますし、漢字や仮名の代わりに文字コードが並びます。ソフトウェアでこのデータを処理すると、以下のように表示されます。

文字と数値が1つずつ対応してさえいれば、そのコンピューターで文字を扱うことはできるのですが、他のコンピューターと文字のやりとりをするときのことを考える必要があります。

仮に、コンピューター1では文字コードを次のように定義していたとします。

A=65、B=66、C=67

さらに、別のコンピューター2では次のように定義していたとします。

A=64、B=65、C=66

このときコンピューター1からコンピューター2へ文字“A”を送信したいとします。


 改行コードのほか、空白を入れたい場所を指定する「空白文字」や、字下げする位置を表す「タブ」などもあります。これらは字の形が表示されるわけではないので厳密には文字と言えないのですが、コンピューター上では文字のデータとして扱われます。

人気ブログランキング
web拍手 by FC2
タグ:文字コード
posted by 北条利彦 at 09:13 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2007年11月18日

文字コード

■文字コードとは

 コンピューターでは何もかもが数値で表されます。たとえば以前の記事で書いたように、画像データは1点の明るさを数値化して並べたものでした。

 それと同じように、コンピューター内部では文字も数値で表されています。文字を数値で表す方法は非常にシンプルで、ひとつの文字にひとつの数値を対応させていくだけです。たとえば“A”は65、“B”は66、“C”は67という具合です。コンピューター内部ではそのような数値で表されていて、表示や印刷をするときに文字の形を作っています。こうすることで、コンピューターが文字を扱っているように見えます。このように、文字に対応している数値のことを「文字コード」と呼びます。

■文字化けはなぜ起こるか

 文字と数値が1つずつ対応してさえいれば、そのコンピューターで文字を扱うことはできるのですが、他のコンピューターと文字のやりとりをするときのことを考える必要があります。

 仮に、コンピューター1では文字コードを次のように定義していたとします。

 A=65、B=66、C=67

さらに、別のコンピューター2では次のように定義していたとします。

 A=64、B=65、C=66

このときコンピューター1からコンピューター2へ文字“A”を送信したいとします。

 コンピューター1にとってはA=65なので、コンピューター1は65を送信します。コンピューター2はもちろん65を受信しますが、コンピューター2にとってはB=65なので、受信したデータを文字“B”だと誤認してしまいます。

MissEncoding.png

 このように、文字コードの定義が異なるコンピューター同士で文字データをやりとりすると、表示がおかしくなってしまいます。これが文字化けです。ここではアルファベットが別のアルファベットに置き換わるよう説明しましたが、実際の文字化けでは、記号とも文字ともつかない図形らしきものが表示されることも多いです。

■文字コード体系

 どのコンピューターでも文字と数値の対応が同じになっていれば、文字化けの問題が起こりません。文字化けが起こるのは困りますので、どの文字と数値を対応させなさいという決まりがあり、それを「文字コード体系」といいます。ただし、単に「文字コード」と呼ぶことの方が多い気がします。

 半角英数字や半角記号の文字コード体系がASCIIコード(アスキーコード)です。最初に例示したA=65、B=66、C=67というのはASCIIコードで決められた値です。そして、「ABC」という文字の並びを表現したい場合は65,66,67という数値を順番に並べることで表現します。

 ASCIIでは文字コード、つまり文字に対応する数値を並べるだけで文章を表現できますが、日本語を対応させようとすると話が複雑になります。

 日本語にももちろん文字コード体系があり、JISコードがその1つです。もともと英語しか使えないはずの文字コード体系を改変して日本語に対応させたこともあり、単純に文字コードを並べるだけで文字の並びを表現しているのではありません。JISコードは「ここからが全角文字ですよ」とか「ここからが半角文字ですよ」という意味の数値があり、そこで全角と半角を切り替えて文字を表現します。

 このため、単純にどの値がどの文字に対応すると決めることはできず、現在は全角文字を処理しているか、それとも半角文字を処理しているのかを判断する必要があります。その不便さゆえかどうかは知りませんが、日本語には他にも文字コードがあります。主にWindowsで使われているShift-JIS(シフト・ジス)やUNIX系のOSで使われているEUC(イー・ユー・シー)がそれです。

 英語圏ではASCIIのみで十分ですが、いま挙げたように日本語には複数の文字コード体系があります。JISコードとShift-JISとEUCとでは文字と数字の対応が異なるので、たとえばEUCを用いて保存された文章を、Shift-JISしか扱えないソフトで開いたりすると文字化けが起こります。

 世界の主要な言語を1つの文字コードで表現しようというコンセプトのUnicode(ユニコード)という文字コード体系もあります。Windowsの内部などでUnicodeが使われていたりするものの、現在では文字コード体系が1つ増えたにすぎない状態です。文字コード体系の主流がUnicodeに置き換われば文字化けもなくなるかも知れませんが、それはまだまだ先になりそうです。

 図に使っているパソコンなどの画像はhiroさんのサイト「おえかき工房」に公開されている素材を使用しました。

人気ブログランキング
web拍手 by FC2
タグ:文字化け
posted by 北条利彦 at 00:40 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2007年10月20日

フェールセーフとフェールソフト

 コンピューターに限った話ではないのですが、機械の信頼性を向上させるための考え方として「フェールセーフ」や「フェールソフト」などがあります。

 フェールセーフは、一部分に異状があったときに安全性をより重視する考え方です。地震があったときなどにストーブが止まるのはフェールセーフの考え方によるものです。

 フェールソフトは、一部分に異状があってもできるだけ通常の動作を継続させようという考え方です。フェールソフトでは、同じような機能を持つ装置をいくつか用意しておき、どれかが壊れてもそのまま動作を続けるという方法がとられます。ジェット機のエンジンが複数用意されているのもこの考え方にもとづいています。
web拍手 by FC2
posted by 北条利彦 at 12:01 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2007年03月11日

コンピューターウイルスって何?

■ウイルスの概要

 いまやコンピューターを使わない人でも「コンピューター・ウイルス」(以下、ウイルス)という用語は聞いたことがあるかと思います。ここのところインターネットに機密情報が漏えいした事件が後を絶ちませんが、あれもウイルスが原因となっているものが多いです。

 そのウイルスですが、実体は「コンピューターに与える不正な命令」の一種です。ここでいう不正な命令というのは、コンピューターの利用者に害を与えるという意味です

 不正でない命令はたとえば、メールソフトに送信先や本文を入力して送信ボタンを押すと電子メールが送信される命令です。一方、不正な命令は、利用者が操作しないのに勝手にメールを送ってしまう命令です。機能の上ではどちらもメールの送信でしかないのですが、人にとって害になるかどうかでウイルスと普通のプログラムが区別されます。

 ウイルスといえどコンピューターへの命令に過ぎません。そのため、もともとコンピューターにできないことはウイルスにもできません。たとえば、電源供給がないパソコン上でウイルスが動作するということはありません。ネットワーク機能を持たないパソコンから電子メールを送信するということもありません。

■機能によるウイルスの分類

 ウイルスを機能(症状)によって分類すると、狭義のウイルス、ワーム、トロイの木馬、スパイウェア、アドウェアがあります。それぞれの意味はこのようになっています。これらを総称して広義のウイルスであり、これはマルウェアとも呼ばれます。

狭義のウイルス

 感染したコンピューターのみで動作し、ネットワークを介して増殖する機能はないものです。今ほどネットワークが普及していなかった頃に多かったもので、「ウイルスの感染を防ぐために出所不明のフロッピーディスクは開くな」などと言われていました。

ワーム

 電子メールの添付ファイルなどを利用し、ネットワークを介して増殖し、潜伏、発症するものです。パソコンが勝手に再起動してしまう「ブラスター」や、ファイル共有ソフト「Winny」のネットワークにファイルを勝手に配布する暴露ウイルスが有名です。

トロイの木馬

 外見は普通のアプリケーションですが、隠れて悪事を行います。

バックドア

 一度パソコンに侵入した人が、再び侵入することを容易にするために設置するプログラムです。

スパイウェア

 密かに個人情報の収集を行うものです。

アドウェア

 広告を表示するものです。通常のプログラムに、目立った広告がついているというものが多いです。アドウェアには、プログラム本体から広告のみを取り除こうとすると、本体のプログラムがうまく動作しなくなるものもあります。

■感染場所によるウイルスの分類

 感染場所によって分類すると次のようになります。

ブートセクター感染型

 パソコン起動後最初に読み込まれるデータが入っている場所(ブートセクター)に不正な命令を書き込むものです。

ファイル感染型

 新たにウイルスのファイルを作ったり、既存のプログラムを書き換え、そのファイルを実行するとウイルスが動作します。多くのウイルスがこれに該当します。

マクロ感染型

 Microsoft Office文書ファイルに、不正な処理をするマクロを書き込むものです。マクロを使うと簡単にウイルスを作ることができるので注意が必要です。このウイルスに感染した文書でも、マクロを無効にした状態で文書を開くことで感染を防ぐことができます。
web拍手 by FC2
posted by 北条利彦 at 22:51 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2007年03月08日

キロ、メガ、ギガとは

 コンピューターでよく使われる単位にK(キロ)、M(メガ)、G(ギガ)があります。Kは1000倍、Mは100万倍、Gは10億倍を意味します。 1000K=1M、1000M=1Gとなります。また、Gの1つ上にT(テラ)という単位もあり、1000G=1Tとなります。たとえば700MBのCD-Rであれば700×1000×1000バイトのデータを記録できます。

■1K=1000? 1024?

 ただし、これらの単位はK=1024倍、M=1024K、G=1024M、T=1024Mという計算の仕方もあり、実際にはこの2つの計算方法が両方使われています。大文字と小文字を使い分けて1k=1000、1K=1024とし、kの方は「キロ」、Kならば「ケー」と発音することで区別するやり方もありますが、MやGでの判別方法は聞いたことがありません。

 CDやDVDなどデータを記録する媒体に書かれているのは大抵、1000K=1Mの方法で計算されています。しかしWindowの容量表示は1024K=1Mとなっていたりします。この計算方法の違いより、プロパティで表示される容量は実際にデータを記録できる容量よりもだいぶ小さくなることがあります。

 1K=1024として計算するのは、コンピューターは10進数よりも2進数の計算しやいためです。今とは違い、古いコンピューターは非常に性能が悪かったので、少しでも計算を省く必要があったからこの計算方法が広まったのだと思われます。現在でもパソコンの容量表示で1K= 1024とするのはその名残なのでしょう。
web拍手 by FC2
posted by 北条利彦 at 22:27 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2007年02月23日

ビット・バイト

■ビットとバイトは情報の量を表す単位

 パソコンを使っていれば、ビットやバイトという単位は多かれ少なかれ聞いたことはあると思います。これらは情報量の単位であり、1ビットとは、2択のうちのどちらだという情報を記憶できる量のことです。たとえば人間の性別は2通りなので、Aさんの性別に関する情報で「Aさんは男性だ」という情報の量は1ビットです。

 コンピューター上で1ビットの情報は“0”または“1”の数値で表されます。数値で表されるといっても、実際は電圧が高い状態を “1”、低い状態を“0”とするとか、ディスクが出っぱっているところとそうでないところで“0”と“1”を区別するとか、磁気のN極とS極がどっちを向いているかで“0”と“1”を区別するというようなことをやっています。

 また、3ビットの情報は“001”のように“0”や“1”を3つ並べて表記します。もちろんこれは、1ビットの情報を3個分記憶できます。さきほどの性別の例でいうと、AさんとBさんとCさんの計3人の性別を記憶するのに必要な情報の量は3ビットです。

 このように考えて8ビットの情報は1ビットの情報8個分に当たりますが、これが1バイトです。ごく一部のコンピューターでは、1バイト=8ビットとならない場合もありますが、通常は、バイト数を8倍すればビット数が求まると考えて差し支えありません。

■データの量と状態数

 前述のように1ビットは0または1の2通りの状態を表せます。2ビットでは00、01、10、11の4通りです。3ビットでは000、001と続き、111までの8通りを表すことができます。このように、1ビット増えるごとに表せる状態数が2倍になります。そして、1バイトでは2の8乗通り、つまり256通りの状態を表すことができます。

 少しややこしいのですが、1ビットでは2通り、3ビットでは8通りの状態を表すことができるからといって、3ビットは1ビットの4倍のデータを記憶できることにはなりません。3ビットは1ビットの3倍の情報量です。

 これは、0と1ではなく、いつも使っている10進数で考えると分かりやすいです。数字1桁では0〜9までの10通りの値を表すことができます。数字3桁では0〜999の1000通りの値を表すことができます。しかし数字3桁というのは、数字3つ分にすぎないわけです。ビットで同じように考えて、3ビットは1ビットの3倍の情報量だということになります。
web拍手 by FC2
posted by 北条利彦 at 18:32 | Comment(0) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。