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

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

LinuCレベル1 102試験の出題範囲から、「1.08.3 ローカライゼーションと国際化」についての例題を解いてみます。
ここでは、ファイルの文字コードについて確認しておきましょう。

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


例題

文字コードがISO-2022-JPで書かれたファイル(test.txt)を、UTF-8の文字コードに変換できるコマンドを選択してください。

  1. iconv -f utf8 -t iso-2022-jp test.txt
  2. iconv -f iso-2022-jp -t utf8 test.txt
  3. iconv -l utf8 -o iso-2022-jp test.txt
  4. iconv -l iso-2022-jp -o utf8 test.txt

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


解答と解説

正解は、「2. iconv -f iso-2022-jp -t utf8 test.txt」です。

iconvコマンドは、ファイルをある文字コードから別の文字コードに変換するコマンドです。
iconvコマンドで使用できる主なオプションは以下の通りです。

-f(--from-code)変換前の文字コード(エンコーディング)を指定します
-t(--to-code)変換後の文字コード(エンコーディング)を指定します
-l(--list)対応している文字コードの一覧を表示します
-o(--output)出力先のファイルを指定します
-c変換できなかった文字を出力から除きます

使用している端末がUTF-8の場合、iso-2022-jpでかかれたファイルを閲覧すると文字化けして表示されます。

iconvコマンドを使用して-fオプションには、変換前の文字コード(iso-2022-jp)を指定し、-tオプションには変換後の文字コード(utf8)を指定すると、使用している端末がUTF-8でも、内容を確認することができます。

$ iconv -f iso-2022-jp -t utf8 test.txt
これはiso-2022-jpで記載された文章です。

ユーザ01 <user01@example.com>

また、-oオプションを使用すると、変換した内容をファイルに出力することができます。

$ iconv -f iso-2022-jp -t utf8 test.txt -o output.txt

UTF-8で変換されるため、viで開いても文字化けすることなく確認できます。

$ vi output.txt

これはiso-2022-jpで記載された文章です。

ユーザ01 <user01@example.com>

それでは、選択肢を見ていきます。

1.iconv -f utf8 -t iso-2022-jp test.txt
不正解です。

このコマンドの場合、UTF-8の文字コードをISO-2022-JPへ変換します。文字コードが逆のため不正解です。

2.iconv -f iso-2022-jp -t utf8 test.txt
正解です。

3.iconv -l utf8 -o iso-2022-jp test.txt
不正解です。

-lオプションは、対応している文字コードの一覧を表示するオプションです。また、-oオプションは、出力先のファイルを指定するオプションです。
よって不正解となります。

4.iconv -l iso-2022-jp -o utf8 test.txt
不正解です。

-lオプションは、対応している文字コードの一覧を表示するオプションです。また、-oオプションは、出力先のファイルを指定するオプションです。
よって不正解となります。

端末の文字コードとファイルの文字コードが異なると、文字化けしてしまい内容が確認できないことがあります。状況に合わせて、内容を確認できるようにしておきましょう。


例題作成者

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

ページトップへ