Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

プレビュー

文字の表し方

これはレッスンの最初のページです。読んで、アクティビティを試してみましょう。続きは授業の全体にあります。

30分

「縺薙s縺ォ縺。縺ッ」

メールを開いたら、「縺薙s縺ォ縺。縺ッ」のような、読めない文字が並んでいました。

見たことがありますか。これは、文字化けといいます。

コンピュータは、文字をどのように覚えているのでしょう。そして、なぜ化けるのでしょう。今日は、その秘密を学びます。

今日のキーワード

ことばいみれい
文字コード文字に、番号をつけた決まりです。Aは65
ASCIIアルファベットや数字、記号に、番号をつけた古い決まりです。128個あります。A、b、7、?
Unicode世界中の文字に、番号をつけた決まりです。日本語も入っています。あは12354
UTF-8Unicodeの番号を、バイトにして保存する方法です。ウェブページで多く使います
文字化け決まりがちがうせいで、文字が正しく出ないことです。縺薙s縺ォ縺。縺ッ
バイト8ビットをまとめた単位です。1バイトは256通り

学生が入力するセルは、このプレビューでは空白です。

文字は、番号で覚える

コンピュータの中には、0と1しかありません。文字は入れられません。

そこで、文字ごとに番号を決めておきます。文字を保存するときは、番号を保存します。

表示するときは、番号から文字を取り出します。この番号の決まりが、文字コードです。

やってみよう: 文字の番号

コード: python
# Python は6章で学びます。今は、動かして結果を見るだけで大丈夫です。
# ord() は文字の番号を、chr() は番号の文字を教えてくれます。
print(ord("A"))
print(ord("B"))
print(chr(67))
print(ord("a"))
print(ord("あ"))

# "A" を、好きな文字に変えて、実行しましょう。

例: 文字と番号

文字番号二進数(8桁)
04800110000
14900110001
A6501000001
B6601000010
C6701000011
a9701100001
b9801100010

学生が入力するセルは、このプレビューでは空白です。

1文字が1バイト: ASCII

最初に作られた決まりが、ASCIIです。英語の文字、数字、記号で、128個です。

1文字を、1バイト(8ビット)で表します。「A」は65で、二進数なら01000001です。

大文字のAと小文字のaは、別の番号です。aはAより32大きくなっています。

小さな確認: 表を読む

やってみよう

小さな確認: 表を読む

4問
挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存

答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。

日本語や世界の文字: Unicode

ひらがな、カタカナ、漢字は、数千もあります。1バイト(256通り)では足りません。

世界中の文字に番号をつけた決まりが、Unicodeです。「あ」は12354番です。

その番号を、バイトにして保存する方法が、UTF-8です。日本語は、1文字が3バイトになります。

例: UTF-8のバイト数

文字列文字の数1文字あたりバイト数
Hello5文字1バイト5バイト
ABC3文字1バイト3バイト
あい2文字3バイト6バイト
日本語3文字3バイト9バイト
こんにちは5文字3バイト15バイト

学生が入力するセルは、このプレビューでは空白です。

レッスンはまだ続きます

このレッスンの残り7つの部分は、練習問題や最後の確認とともに、授業の全体にあります。アカウントがあれば、すべて使えます。