文字コードとテキストデータのサイズ

 デジタル化された「データ」は、一般的に「ファイル」として保存されます。ここでは、「文字のデータ(テキストデータと呼びます)」について、データの「サイズ(容量)」がどうなっているのか?についてみていきます。

文字コード

 文字(および記号)は、コンピュータ内部では数値と同様に 0 および 1の2進法で表されています。その2進法で表された数値と文字との対応関係を規定するものを「文字コード」と呼びます。

 「文字コード」には以下のように、いくつかの種類があります。

ASCII(アスキー)コード:1963年にアメリカで制定された最も基本的な文字コード。英数字および記号を表現できる。
  →このコードでは、日本語が表示できないため以下のコードが開発されます。

Shift_JIS(シフトジス)コード:1982年に日本語を表現できる文字コードとして開発された。

ECUコード:1985年にUNIXというOSで使われる日本語用文字コードとして開発された。
  →上記2つのコードには互換性がないため、「文字化け」の問題が発生します。これは他の国の言語でも同様です。
   よって国や地域別に作られていた文字コードをまとめて多国籍に対応した、国際的な統一文字コードが作られます。

Unicode(ユニコード):1993年に開発された世界統一の文字コードの総称で、代表的なコードは「UTF-8」。

以上が「文字コード」の種類と歴史です。

コンピュータで扱われるサイズ

コンピュータで扱われるサイズについて確認していきます。

1ビット(bit)0 or 1 の 2通りの情報を表現できます。

1バイト(byte)= 8ビット :2 の 8乗通り(256)の情報を表現できます。

以上を基本単位として、サイズが1024倍されるごとに、キロバイトメガバイトギガバイトとなっていきます。
普通の数値であれば、1000(10の3乗)倍されるごとにその接頭語(キロ、メガ、ギガなど)が使われますが、コンピュータは2進数のため1000に近い 2の10乗 ごとになります。

1バイト x 1024 = 1キロバイト
1キロバイト x 1024 = 1メガバイト
1メガバイト x 1024 = 1ギガバイト という感じですね。

文字のデータサイズ

 それでは、実際に文字はどれくらいのデータサイズになるのかをみていきます。

 まず、「ASCII コード」について、このコードは先に述べたように、英数字および記号を表現できます。
アルファベットは26文字です。これに、大文字・小文字の2種類があるので 26(文字)× 2 = 52(文字)となります(平仮名、片仮名、漢字を使用する日本語と比較してとても少ないですね)。その52(文字)に数字や記号(+などの演算子や $ などの記号)を含めても、128(文字)を表現できれば十分となります。

 よって、「ASCII コード」では、7ビット = 2の7乗 = 128 を1文字に割り当てることになります。
実例を示すと、「A」 は「1000001」「a」は「1100001」 となります。よって、「ASCII コード」における1文字のサイズは 7ビット となります。

また、「ASCII コード」だけに限りませんが、「空白」や「制御文字」も文字コードで指定されていることに注意が必要です。
「空白」すなわち「スペース」もきちんと指定しなくては、表現できませんよね。「ASCII コード」における「空白」は「0100000」が割り当てられています。また「制御文字」とは「改行」などの文字ではないが、文字の体裁を整えるために必要なものです。その「改行」は同様に「0001010」となります。

 続いて、日本語を扱う文字コードの中から「Shift_JIS コード」についてみていきます。
日本語については、常用漢字だけでも2136文字があります。よって 128通りの表現ができる7ビットではとても足りません。ですので、Shift_JIS コード」は 65536を表現できる、16ビット(2の16乗)= 2バイトの文字コードとなっています。ですので、テキストデータを日本語にすると、文字数が同じであれば、英語の場合よりもデータサイズが大きくなりますね。

 ちなみに、このように 2バイトで表現される文字を「ダブルバイト文字」、アスキーコードのように1バイト(以下で)表現される文字を「シングルバイト文字」と呼びます。

 「Shift_JIS コード」についても、より正確に言えば、「アイウエオ」のような全角文字が「ダブルバイト文字」であり、「アイウエオ」のような半角文字は「シングルバイト文字」で指定されています。ですので、「Shift_JIS コード」を使用している場合でも全角文字と半角文字ではデータサイズが2倍違うことになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次の記事

静止画データ