[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

マルチバイト文字

pointこの用語のポイント

point全角文字だよ

point2バイト以上のデータで表現する(1バイトのデータでは表現できない)よ

スポンサーリンク

簡単に書くよ

マルチバイト文字とは

全角文字のこと。
つまり

「あ」と同じくらいの幅の文字のこと
です。
本当は

2バイト以上のデータで表現する文字のこと
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「文字」と「全角文字」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

文字は「あ」とか「い」とかです。

マルチバイト文字

「わざわざ説明されなくても分かるよ」という人も多いと思いますが、コンピュータの世界では「あ」や「い」のような「記号としての文字」と「眠い」や「お腹空いた」のような「言葉としての文字」を区別します。
そして

・記号としての文字 → 文字
・言葉としての文字 → 文字列


と呼び分けるのです。

マルチバイト文字2

まずは「記号としての文字」と「言葉としての文字」があると理解してください。
その上で、本ページで登場するのは「記号としての文字」です。

さて、コンピュータの世界で一般的に登場する「記号としての文字」は2種類あります。

1.「あ」と同じくらいの幅の文字
2.「a」と同じくらいの幅の文字


の2つです。

マルチバイト文字3

この2種類の文字のうち

1.「あ」と同じくらいの幅の文字

を「全角文字」と言います。
別に「あ」じゃなくて「ア」でも「1」でも「A」でも良いのですけどね。
日本語入力モード入力した日本語くらいの幅の文字です。

マルチバイト文字4

以上を踏まえて「全角文字」の別の呼び名が「マルチバイト文字」です。
「全角文字」と「マルチバイト文字」は似たようなものだと思って、かまいません。

マルチバイト文字5

……というのが、正確ではないけどイメージしやすいであろう説明です。

本当は、2バイト以上で表現する文字(1バイトでは表現できない文字)が「マルチバイト文字」です。

コンピュータの世界では0か1が入る箱を「ビット(bit)」と言います。
1ビットは0か1が入る箱が1個ある状態です。

マルチバイト文字6

この箱が8個集まると「バイト(Byte)」に変身します。
1バイトは0か1が入る箱が8個ある状態です。

マルチバイト文字7

1バイトで表現できる情報の数は256個です。

00000000

から始まって

00000001
00000010
00000011
00000100
00000101


と続き

111111111

に至ります。
この0と1の組み合わせの数が256個あるのです。

さて、コンピュータの世界では文字を数字として扱います。
実際の組み合わせとは違いますが、例えば

00000000:A
00000001:B
00000010:C


のように割り当ててあり、文字「A」をコンピュータさんの内部では「00000000」として扱うのです。

ここで、ちょっとだけ歴史的な話をします。
コンピュータは最初、英語圏の人が作りました。
だから「文字」といえば英語、つまり「アルファベット」でした。

アルファベットと数字だけであれば、256個もあれば十分でしょう。
そこで、初期のコンピュータでは文字を1バイトのデータとして扱っていたのです。

ところがどっこい、コンピュータが世界的に広まると「日本語も使いたい!」「中国語も使いたい!」「アラビア語も使いたい!」と言い出す人が出てきました。
そうなると、文字に割り当てる数字が256個では足りなくなります。

足りなければ足せば良いのです。
1バイトで足りなければ2バイトにしましょう。

それまでは文字を1バイトのデータとして扱っていましたが、2バイトのデータとして扱うことにしました。
ついでなので書いておくと、今は2バイトでも足りなくなったので、3バイトとか4バイトで1文字を表現したりもします。

ということで、今のコンピュータ世界には

1.1バイトで表現できる文字
2.2バイト以上で表現する文字(1バイトでは表現できない文字)


の2種類あるのです。

この2種類のうち

2.2バイト以上で表現する文字(1バイトでは表現できない文字)

がマルチバイト文字です。

2バイト以上で表現する文字に分類されるのは、初期のコンピュータになかった文字です。
日本語圏であれば、ひらがなとかカタカナとか漢字とかですね。
よって、上の方ではマルチバイト文字を「全角文字だよ」と説明しました。
※本当は例外もありますが、ややこしいので今回は触れません。気になる人は他のところで勉強してください。

ちなみに

1.1バイトで表現できる文字

の方は「シングルバイト文字」と言います。
気が向いたら併せて覚えてあげてください。

image piyo2

一言でまとめるよ

まぁ「マルチバイト文字」って単語が出てきたら「全角文字、もしくは、2バイト以上で表現する文字なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク