LinuCレベル1 102試験の例題と解説

1.08.3ローカライゼーションと国際化

今回は、LinuCレベル1 102試験の試験範囲から、「1.08.3 ローカライゼーションと国際化」についての例題を解いてみます。
Linuxで扱える代表的な文字コードについて学んでみましょう。

Linucレベル1 102試験 出題範囲


例題

下記の文字コードの説明として正しいものを以下の選択肢から一つ選択してください。

「ASCII」

  1. Unicodeを使った文字コードで、1文字を1バイト~6バイトで表す
  2. Windows10以前のWindowsで利用される日本語の文字コード
  3. 7ビットで表される基本的な128種類の文字
  4. 電子メールなどで利用される日本語の文字コード

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「3. 7ビットで表される基本的な128種類の文字」です。

文字コードとは、文字をコンピュータで扱うために個々の文字や記号に割り当てられた固有の番号のことになります。

代表的な文字コードとして下記のものがあります。

・ASCII
7ビットで表される基本的な128種類の文字を収録しています。
こちらの文字コードは英数字・記号・改行やタブ等の制御文のみで、日本語は入っていません。最も基本的な文字コードとして普及しており、他の多くの文字コードがASCIIの拡張になるよう実装されています。

・UTF-8
Unicodeを使った文字コードで、1文字を1バイト~6バイトで表します。
Unicodeは「符号化文字集合」と言われ、世界中の文字に対して、番号が割り当てられ管理されている集合体のことです。UTF-8はASCIIコードとの互換性が良いため扱いやすく、世界中のソフトウェアで最も使われています。

・シフトJIS
ASCIIコードの文字に日本語の文字を収録したものになります。
Windowsで使用されたことで普及しました。(現在の Windows 10 では UTF-8 が標準文字コードとして使用されています。)半角カタカナは1バイト、それ以外の全角文字は2バイトで表現します。

・ISO-8859
ASCIIを拡張した8ビットの文字コードで256種類の文字を収録しています。
ASCIIで収録されている文字以外に、ローマアルファベットの飾り文字や合字、引用符や疑問符などの記号、キリル文字、アラビア文字、ヘブライ文字、タイ文字、ケルト文字等が追加されました。

上記で紹介した文字コードはすべて、Linuxで扱うことができる文字コードになります。

現在多くのディストリビューションでは、標準の文字コードとしてUTF-8を用いています。しかし、今回説明したように文字コードには多くの種類があるので、変換する方法を知る必要があります。そこで、文字コードの変換ができる「iconv」コマンドの説明をします。

iconvコマンドの構文は以下のとおりです。

$ iconv [オプション] [入力ファイル名]

主なオプションは下記のとおりです。

・-f 入力文字コード
変換前の文字コードを指定する

・-t 出力文字コード
変換して出力したい文字コードを指定する

・-l
扱える文字コードを表示する

例えば、シフトJISで作成されているtest.txtをUTF-8に変換してtest2.txtに出力する場合は以下のコマンドになります。

$ iconv -f SHIFT-JIS -t UTF-8 test.txt > test2.txt

指定可能な文字コードは下記のコマンドで確認することができます。

$ iconv -l
The following list contains all the coded character sets known.  This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters.  One coded character set can be
listed with several different names (aliases).

437, 500, 500V1, 850, 851, 852, 855, 856, 857, 858, 860, 861, 862, 863, 864,
865, 866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3,
8859_4, 8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993,
10646-1:1993/UCS4, ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4,
ANSI_X3.110-1983, ANSI_X3.110, ARABIC, ARABIC7, ARMSCII-8, ARMSCII8, ASCII,
ASMO-708, ASMO_449, BALTIC, BIG-5, BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS,
BIGFIVE, BRF, BS_4730, CA, CN-BIG5, CN-GB, CN, CP-AR, CP-GR, CP-HU, CP037,
CP038, CP273, CP274, CP275, CP278, CP280, CP281, CP282, CP284, CP285, CP290,
            (省略)

選択肢の解説は以下です。

1. Unicodeを使った文字コードで、1文字を1バイト~6バイトで表す
誤りです。
この選択肢の説明は、UTF-8の説明になります。

2. Windows10以前のWindowsで利用される日本語の文字コード
誤りです。
この選択肢の説明は、シフトJISの説明になります。

3. 7ビットで表される基本的な128種類の文字
正解です。
この選択肢の説明は、ASCIIの説明になります。

4. 電子メールなどで利用される日本語の文字コード
誤りです。
この選択肢の説明は、ISO-2022-JPの説明になります。
ISO-2022-JPとは、電子メールなどで利用される日本語の文字コードになります。日本語で用いられる漢字、ひらがな、カタカナはもちろん、ラテン文字、ギリシア文字、キリル文字なども含んでいます。

代表的な文字コードを覚えておくと、文字化けなどの問題を解決しやすくなります。
よく使うものはおさえておきましょう。


例題作成者

株式会社デージーネット OSS研究室 橋本知里

ページトップへ