目次
1. はじめに
とある本[1]に、「1MB(メガバイト)は小説1冊分」という記述(要約しています)を見つけました。
ICTリテラシーを高める1つの例として、これについて考えてみます。
[1] アメリカで出版された本です。
2. 文字エンコーディングと、1文字のデータ量
想定する文字エンコーディング
文字をデジタルなデータとして表現する方式はいろいろあるのですが、本記事では、現在最もポピュラーであろう UTF-8 という文字エンコーディングで考えます(このページも UTF-8 を使っています)。
1文字のデータ量
UTF-8 の場合、アルファベットや数字は 1バイト(=8ビット)を使って1文字を表します。
一方、日本語で使う文字は、主に3バイトもしくは4バイトを使って1文字を表します。
3. 英語による小説の文字数
この本はアメリカで出版された本であるため、「1MBが小説1冊分」というのは英語(アルファベット)を前提としているはずです。そのため、英語の場合での文字数を考えてみます。
3-1. 1MB の M を「メガ (M) = 106」と捉える場合
1MB の M を「メガ (M) = 106」と捉える場合です。(「1MB = 1メガバイト」と捉える)
アルファベットや数字は1文字1バイトなので、計算するまでもありませんが、
となり、1MB は100万文字となります。比較対象はありませんが、結構な量だと感じます。
3-2. 1MB の M を「メビ (Mi) = 220 (= 1,048,576)」と捉える場合
1MB の M を「メビ (Mi) = 220」と捉える場合です。コンピュータの世界では、「MB」と書いてあっても、実際は「MiB」であることがよくあります。
例えば Windows のファイルのプロパティで、「MB」と表記されている部分は、実際は「MiB」です。
実際に、220 = 1,048,576 バイトのファイルを作成してプロパティを見てみると、ぴったり「1.00MB」と表示されます。
1バイトでも減らすと、「0.99MB」と表示されます(1,000,000は超えているのに、1MBとは表示されません)。
ということで、小説1冊分である 1MiB(1メガバイト) の文字数は、
1 MiB = 220 バイト = 1,048,576 バイト = 1,048,576 文字
となり、1,048,576文字になります。先程の100万と比べると約5%多いですが、それ程変わりません。
3-3. まとめると
なので、通常は「1MB」を見たら、単純に 106 = 100万 から、「アルファベットが 100万文字くらいのデータ量だな」という感覚を持てると良いのではないかと思います。
4. 日本語による小説の文字数
日本語の小説でも考えてみます。
とりあえず、先程と同じ「1MB」だと何文字くらいになるでしょうか?
上の方に書いたように、UTF-8の場合、日本語で使う文字は主に 3バイトと4バイトのものがありますので、ここでは1文字3.5バイトとしましょう。
そうすると、1MB の M を「メガ (M) = 106」と捉える場合は、
1,000,000 / 3.5 ≒ 285,714 [文字]
となり、約30万文字(少し無理やりですが)。
1MB を 1MiB と捉えると、
1,048,576 / 3.5 ≒ 300,000 [文字]
となり、こちらも約30万文字となります。
※ 日本語の1文字が2バイト固定の文字エンコーディング(Shift_JISなど)の場合だと、約50万文字になります。
ここで、日本語の小説の文字数がだいたいどれくらいなのか、ウェブで検索して調べてみると、20万から40万文字と説明されている情報が見つかりました。偶然でしょうか? 日本語の30万文字も、小説1冊分のようです(50万文字なら大長編?)。
「Twitter の1ツイートは言語に依らず140文字以内であるが、この文字数であっても日本語なら伝えられる情報量が多い。これが日本で Twitter が流行った理由の1つである」とはよく聞いた話ですが、小説1冊分の文字数が英語よりも少ないのは同じ理由なのかもしれません。
5. まとめ
ということで「1MB」を見たら、
- アルファベット100万文字くらいだな
- 小説1冊分くらいのデータ量だな
という感覚は、データ量(データサイズ)を把握するための1つの目安になります。