ラノベ×マンガで学ぶ基本情報技術者試験 第2章-4:文字や記号の表現 – コンピュータに言葉を伝える方法

マンガでダイジェスト

ストーリ&学習パート

補数ゴブリンを退けたシンジとマナは、薄暗い渓谷を進んでいた。
すると、突如として景色が一変する。
目の前に広がったのは、淡い光を放つ文字の海。
アルファベット、記号、そして見慣れない異国の文字たちが、まるで星座のように宙を舞っていた。

シンジ(驚き):「うわっ…こ、ここは一体!?文字が…空を飛んでる…?」

マナ(微笑):「ここは文字コードの迷宮よ。コンピュータがどうやって文字や記号を理解してるかを学ぶ場所なの。」

シンジ(困惑):「文字って、そのまま文字として認識するんじゃないのか?『A』は『A』だろ?」

マナ:「ふふ、それが違うの。コンピュータにとって『A』はただの記号じゃなくて、数字の列なのよ。」

マナが杖を振るうと、シンジの目の前に『A』『あ』『😊』といった文字が浮かび上がり、それぞれが数字の羅列に変化していく。

🌠 変化する文字:

  • 『A』 → 01000001
  • 『あ』 → 10000010 10100001 (Shift_JIS)
  • 『😊』 → 11110000 10011111 10011000 10001010 (UTF-8)

シンジ:「えぇっ!?これが全部数字なのか!?しかもなんだその記号みたいな数字は!」

マナ:「これが文字コードってやつよ。コンピュータは0と1のデータしか理解できないから、すべての文字や記号を数字に変換して扱ってるの。」

マナは空中に浮かぶ数字の列を指先でなぞりながら説明を続ける。

マナ:「でも、この変換ルールが文字によって違うから、文字化けが起きたりするの。だから、ここでその仕組みをしっかり学ばないとね!」

シンジ(決意):「なるほどな…この迷宮を突破するには、この数字の謎を解かないといけないってわけか。よし、やってやろうじゃないか!」

🔤 1. 文字コードとは? – 言葉を数字に変える魔法

渓谷の風が止み、静寂の中で宙に浮かぶ『A』の文字が青白い光を放ち始めた。
マナが杖をひと振りすると、その文字が無数の0と1に分解される。

シンジ

おいおい、待てよ…なんで『A』が01000001になるんだ!?

ただ文字を書くだけじゃダメなのか?

マナ

コンピュータは言葉を理解しないの。
0と1のデータしか分からないから、どんな文字でも数字に変換しないといけないのよ。

マナは空中に『A』の文字と、その下に「A = 01000001(2進数)」と輝く数字を映し出す。

マナ

この数字への変換ルールのことを『文字コード』って呼ぶの。

たとえば、この『A』ならASCIIコードって規格で01000001って決められているの。

シンジ

つまり…言葉を数字に変える魔法ってことか?

マナ

そう!でも、これは魔法じゃなくて知識なの。
理解すれば、どんな文字も正確に扱えるようになるの。

マナは杖をもう一度振り、『あ』や『😊』の文字をカラフルな数字の連なりへと変換して見せた。

🌟 変換された文字たち:

  • 『A』 → 01000001 (ASCIIコード)
  • 『あ』 → 10000010 10100001 (Shift_JISコード)
  • 『😊』 → 11110000 10011111 10011000 10001010 (UTF-8)
シンジ

なんだこれ…文字によって数字が全然違うじゃないか!

マナ

その通り。
だからこそ、どの文字コードを使ってるかをちゃんと理解しないと、文字が文字化けしちゃうんだよ。

🔡 2. 代表的な文字コードの種類 – 世界を繋ぐデジタルの言語

マナが杖をひねると、空中に光のパネルが浮かび上がる。パネルには、異なる言語の文字と、それを支える数字の羅列が広がっていく。

マナ

これが代表的な文字コードたちよ。
世界中の言葉が数字で表現されているの。でも、それぞれにルールが違うんだ。

🗂 主な文字コードの種類

文字コード説明
ASCIIコード米国規格協会(ANSI)が制定した、最も基本的な7ビットの文字コード。半角英数字と限られた記号(例: ! @ # $ %)を表現可能。漢字やひらがなは扱えない。A → 01000001
Shift_JIS日本語の文字(漢字、ひらがな、カタカナ)を扱える文字コード。Windows環境や日本のパソコンで広く使用される。ただし、異なる環境で使うと文字化けが発生しやすい。あ → 10000010 10100001
EUCUNIXシステムで使用される文字コード。日本語、中国語、韓国語などの多言語を扱える。あ → A4 A2(EUC-JPの場合)
JISコード日本語電子メールやインターネット通信で使われる文字コード。標準化された日本語文字のやり取りに適している。ISO 2022-JPという形式でも知られる。
あ → ESC $ B 24 22 ESC ( B
Unicode世界中の文字を統一的に表現できる文字コード。UTF-8、UTF-16などの形式があり、多言語対応のソフトウェアに不可欠。これにより、異なる言語間のやり取りが簡単に!UTF-8は、ASCIIコードとの互換性を保ちつつ、多言語を表現できるため、Webで最もよく使われる。可変長(1〜4バイト)で文字を表現。これにより、メモリ使用量を効率化。A → U+0041,
あ → U+3042,
😊 → U+1F60A,
あ(UTF-8) → 11100011 10000001 10000010
シンジ

うわっ…同じ文字でもこんなにいろんなコードがあるのか!?
どれを使えばいいんだよ…

シンジの目の前には、同じ『あ』という文字が、Shift_JIS、EUC、そしてUnicodeで全く違う数字に変換される様子が浮かんでいた。

マナ

それが文字化けの正体よ。
異なる文字コードを使うと、コンピュータは正しい文字を理解できなくなって、全く違う文字を表示しちゃうの。

マナは『あ』の文字をShift_JISとUTF-8で誤って解釈するシミュレーションを見せる。
文字が『?』や奇妙な記号に変わってしまう。

シンジ

なるほどな…
だから、正しい文字コードを選ばないと意味不明な文字が出てきたりするんだな…

マナ

その通り!
でも、文字コードを理解すれば、どんな言語でも正しく扱えるようになるわ。
世界中の言葉を数字で操る力を手に入れるってことよ。

🎨 3. 文字の表示: フォントの世界へ

文字コードの謎を解き明かし始めたシンジの前に、マナは新たな魔法を披露する。
空中に浮かぶ文字たちが形を変え始める。
無機質な数字の羅列が、美しく装飾された文字や、シンプルで機能的なフォントへと変化していく。

マナ

さあ、次はフォントの世界へようこそ!

文字コードで数字に変換されたデータは、このままだとただの0と1の塊。
フォントを使って、私たちが読める文字に変える必要があるの。

シンジ

うわっ…同じ文字なのに、全然見た目が違う!
これがフォントか…!

🔠 フォントの種類

ビットマップフォント – ドットが描く精密なアート

マナの杖が空中に小さなグリッドを描き、『A』の形が小さな点(ピクセル)で浮かび上がる。

マナ

これがビットマップフォント

文字の形を小さなドット(ピクセル)で表現するんだ。

特徴:

  • ドットの集まりで文字を描画。
  • 拡大や縮小をすると、ギザギザになったり、形が崩れる。
  • 表示速度が速い。
シンジ

なるほど、これがドット絵みたいな文字ってわけか!
でも、拡大するとガタガタになるんだな。

アウトラインフォント – 輪郭が描く滑らかな美しさ

『A』の文字が滑らかな曲線を描きながら輪郭線だけで浮かび上がった。

マナ

そして、これがアウトラインフォント

文字の輪郭を数式で表現しているから、拡大・縮小しても形が崩れないの。

特徴:

  • 数式(ベジェ曲線など)を使って、文字の輪郭を描画。
  • 拡大縮小しても美しさが保たれる。
  • 計算が必要なので、表示に少し時間がかかる場合がある。
シンジ

おおっ!これはすごい。
どんなに大きくしても滑らかなままだ…!

🖋 フォントの使い分け: 速度 vs 美しさ

マナ

ビットマップフォントは小さな画面や高速表示に適しているの。

でも、大きな表示や美しさが求められる場面ではアウトラインフォントが活躍するのよ!

シンジ

なるほど…速さを取るか、美しさを取るかってわけだな!

🔢 4. 文字の大きさを表す単位 – ポイントの魔法

マナは杖をひと振りし、空中に浮かぶ文字を拡大したり、縮小したりする。
『A』の文字が、大きくなったり小さくなったりする。

マナ

文字の大きさは、ただの感覚じゃなくて、ちゃんとした単位で決まってるんだよ。
ポイント(pt)』って言うの。

シンジ

え?単位?ただ大きさを決めるだけだろ?

マナ

1ポイントは1/72インチなの。

(1インチ = 約2.54cm) だから、12ポイントの文字は、だいたい4.2ミリメートルの大きさになるんだよ。

『A』の文字が12ポイントのサイズに固定され、その横に4.2mmという表示が浮かび上がる。

シンジ

へえ…そんな細かい単位が使われてるのか。ってことは、24ポイントなら倍の大きさか?

マナ

その通り!
試験では『1ポイント=1/72インチ』って定義は与えられるから、暗記は必須じゃないけど、知っておくと便利だよ!

🎯 実際の大きさのイメージ

さまざまなサイズの文字が空中に並ぶ。

  • 8ポイント → 小さな注釈や脚注
  • 12ポイント → 通常の本文
  • 24ポイント → 見出しやタイトル
シンジ

こうやって見ると、ポイントの違いが一目瞭然だな。
これなら大きさの感覚もつかみやすい!

🖋 5. ビットマップフォントの仕組み – ドットが描く文字の魔法

マナは、ビットマップフォントを詳しく解説する。

マナ

ビットマップフォントは、小さな点(ピクセル)を組み合わせて、文字を描いているの。

📊 ビットマップフォントの基本

  • ドット(ピクセル): 文字や画像を構成する最小の点。
  • 画素数(ピクセル数): 縦と横のピクセルの数を掛け合わせたもの。例: 10×10ピクセル → 100画素
シンジ

ドット絵みたいなもんか!
でも、それだと拡大したらガタガタになりそうだな…?

📐 解像度とdpi(ドット密度) – 文字の鮮明さを決めるカギ

2つの『A』の文字を並べて見せる。一方は粗く、もう一方は滑らかに見える。

マナ

この違いが解像度の違いなの。dpi(dots per inch)っていう単位で表されるんだよ。

  • 高dpi(高解像度): 1インチの中に多くのドットが詰まっている。→ 滑らかで細かい表示。
  • 低dpi(低解像度): 1インチの中に少ないドットしかない。→ 荒く、ギザギザに見える。
シンジ

なるほど、解像度が高ければキレイに見えるってわけか。

🎨 アンチエイリアシング – 文字を滑らかにする魔法の技術

ギザギザの文字が柔らかい輪郭を持つように変化する。

【アンチエイリアシングなし】       【アンチエイリアシングあり】

■■■■■■■■              □□■■■■□□
■■□□□□■■             ■■■□□□■■■
■■□□□□■■             ■■▨□□□▨■■
■■□□□□□■             ■■▨▨□□▨▨■■
■■■■■■■■             ■■■■■■■■■
   ↑ギザギザ               ↑滑らか

(■:黒、□:白、▨:グレー)

マナ

これがアンチエイリアシングの魔法よ!
斜めの線や曲線のギザギザを滑らかに見せる技術なの。

仕組み: 昔のゲームみたいなドット絵で、斜めの線がガタガタに見えることがあるよね。アンチエイリアシングは、そのガタガタを、滑らかに見せるテクニックなんだ。文字の輪郭に、白と黒の中間色(グレー)を加えて、グラデーションを作ることで、人間の目には滑らかな線として映るのよ。

シンジ

おおっ!ギザギザが消えて、滑らかに見える!
まるで、魔法みたいだ!そういえば、スマートフォンの画面の文字やアイコンも、滑らかに見えるけど…?

マナ

そう!それもアンチエイリアシングのおかげなのよ。
身近なところで、たくさん使われている技術なの。

6. 試練の予感 – 新たな敵「文字化けマンドラゴラ」

シンジがビットマップフォントと解像度の仕組みを理解したその瞬間、渓谷の奥から不穏な気配が漂ってくる。空気が冷たくなり、微細なノイズが響き始める。

シンジ:「なんだ…?今の音…?」

マナ:「嫌な予感がするわ。新しい敵かもしれない…!」

突然、空中に歪んだ光が集まり、ねじれた記号や数字が絡み合い、不気味な植物の形を作り出す。文字化けマンドラゴラの登場だ。

文字化けマンドラゴラ:「お前たちの言葉も…思考も…この混乱に飲み込んでやる…!」

シンジ:「また新しいモンスターかよ…!でも、今回は俺たちも準備万端だ!」

マナ:「この敵は、フォントと文字コードの知識を試してくるはず…。油断しないで!」

周囲の空間が変化し、シンジとマナは崩れたフォントと歪んだ文字が渦巻く迷宮に閉じ込められた。

マナ:「ここでは、文字コードが乱れているわ…。間違ったコードが使われているせいで、文字が正しく表示されないの。」

シンジ:「じゃあ、正しいコードを見つければいいってことか!やってやるよ!」

文字化けマンドラゴラは、崩れた文字列の呪文を唱え、シンジの視界を混乱させる。

マナ:「シンジ、この文字化けを直すには、ASCIIコードやUnicodeの仕組みを思い出して!それに、ビットマップフォントとアウトラインフォントの違いも忘れないで!」

文字化けマンドラゴラ:「貴様らの知識では、この混乱の文字列を解くことはできまい…!」

📜 文字化けマンドラゴラとの戦い

📜 問題1: 文字符号に関する知識を試せ!

文字化けマンドラゴラの出題:

「コンピュータで使われている文字符号の説明のうち、正しいものはどれだ?」

  • ア: ASCII符号はアルファベット、数字、特殊文字及び制御文字からなり、漢字に関する規定はない。
  • イ: EUCは文字符号の世界標準を作成しようとして考案された16ビット以上の符号体系であり、漢字に関する規定はない。
  • ウ: Unicodeは文字の1バイト目で漢字かどうかが分かるようにする目的で制定され、漢字をASCII符号と混在可能とした符号体系である。
  • エ: シフトJIS符号はUNIXにおける多言語対応の一環として制定され、ISOとして標準化されている。

解答

ア ASCII符号はアルファベット、数字、特殊文字及び制御文字からなり、漢字に関する規定はない。

    📝 解説:

    • ASCIIコード7ビットの文字コードで、英数字と記号を扱うが、漢字は表現できない
    • 他の選択肢は、EUCUnicodeShift_JISに関する説明が誤っている。
      • EUCはUNIXで使用され、漢字を扱う規定がある
      • Unicodeは世界中の文字を統一的に扱うために制定されたが、説明内容が不正確。
      • Shift_JIS日本のパソコンで使われるもので、UNIXやISO規格とは関係ない

    シンジ:「よし、覚悟しろ!…えーっと、ASCIIは英数字と記号だけで、漢字はなかったはず…だから、答えは…アだ!」

    マンドラゴラの呪文が弱まり、シンジの視界が少しクリアになる。

    マナ:「正解よ、シンジ!その調子!」

    📜 問題2: フォントの使い方を理解せよ!

    文字化けマンドラゴラの出題:
    ビットマップフォントよりもアウトラインフォントの利用が適しているケースはどれだ?」

    🔽 選択肢:

    1. 英数字だけでなく、漢字も表示する。
    2. 各文字の幅を一定にして表示する。
    3. 画面上にできるだけ高速に表示する。
    4. 任意の倍率で文字を拡大して表示する。

    解答

    ④ 任意の倍率で文字を拡大して表示する。

    📝 解説:

    • アウトラインフォントは、文字の輪郭を数式で表現するため、拡大・縮小しても形が崩れない
    • 他の選択肢のうち、高速表示細かい漢字表示にはビットマップフォントが適している。
    • 文字の幅の統一はどちらのフォントでも可能なので、決定的な違いではない。

    シンジ:「アウトラインフォントは拡大しても綺麗に見えるってやつだったな…!答えはエだ!」

    マンドラゴラの体がさらに揺らぎ、崩れ始める。

    📜 問題3: 文字サイズと解像度を計算せよ!

    文字化けマンドラゴラの出題:
    96dpiのディスプレイに12ポイントの文字をビットマップで表示したい。正方フォントの縦は何ドットになるか?(1ポイント = 1/72インチ)」

    🔽 選択肢:

    1. 8ドット
    2. 9ドット
    3. 12ドット
    4. 16ドット

    解答

    ④  16ドット

    📝 解説:

    1. 12ポイントインチに換算すると、
      12 × (1/72) = 1/6インチ
    2. 96dpiのディスプレイは1インチあたり96ピクセルなので、
      96 × (1/6) = 16ピクセル
    3. したがって、正方フォント(縦横同じ大きさ)の縦は16ドットになる。

    シンジ:「えーっと、1ポイントが1/72インチだから…12ポイントは…1/6インチ。96dpiってことは、1インチに96個のドットがあるから…1/6を掛けて…16ドット!答えはエだ!」

    マンドラゴラの体から光が漏れ出し、崩壊が加速する。

    📜 問題4: 滑らかな表示技術を見抜け!

    文字化けマンドラゴラの出題:
    液晶ディスプレイなどの表示装置において、傾いた直線の境界を滑らかに表示する手法はどれか?」

    🔽 選択肢:

    1. アンチエイリアシング
    2. シェーディング
    3. テクスチャマッピング
    4. バンプマッピング

    解答

    ①  アンチエイリアシング

    📝 解説:

    • アンチエイリアシングは、斜めの線曲線ギザギザを目立たなくする技術。中間色を補って滑らかに見せる。
    • シェーディングは光と影を使って立体感を出す技法。
    • テクスチャマッピングは表面に模様を貼り付ける技法。
    • バンプマッピングは凹凸を表現してリアルな質感を出す方法。

    シンジ:「これは簡単だ!ギザギザを滑らかにするのは…アンチエイリアシング!答えはアだ!」

    💥 文字化けマンドラゴラの撃破 – 知識が力になる!

    シンジが正しい文字コードとフォントの知識を使いこなし、マンドラゴラの混乱の呪文を解き明かすと、モンスターの体が崩れ始めた。ギザギザの輪郭は滑らかになり、歪んだ文字も正常な姿を取り戻していく。

    シンジ:「これで終わりだ…!」

    シンジの一撃が決まり、文字化けマンドラゴラは光の粒子となって消滅した。周囲の空間が元の静けさを取り戻した。

    マナ:「よくやった、シンジ!これで『フォント操作』のスキルも完璧ね!」

    ナレーション:「シンジは『フォント操作』のスキルを習得した!」

    マンドラゴラが消滅した後、空中には一瞬だけ奇妙な光が輝いた。しかし、それはすぐに消え、シンジとマナはその正体を掴むことができなかった。

    マナ:「今の光…もしかしたら、知識の欠片に関係しているのかもしれない。」

    シンジ:「確かに…あの光、どこかで見た気がする。でも、今は先に進もう!」

    ・・・次回(2-5)へ続く

    おまけコラム

    今回学習した文字コードを題材に、コラム記事を書きました。

    ご参考までに、リンクを貼らせていただきます。(下の画像からジャンプできます)